home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SGI O2 Out of Box Experience
/
SGI O2 Out of Box Experience.iso
/
jungleIsland
/
Boink
/
boink.wrl
< prev
next >
Wrap
Text File
|
1996-11-14
|
100KB
|
4,016 lines
#VRML V2.0 utf8 CosmoWorlds V1.0
Group {
children [
DEF COLLISION Collision {
children [
Transform {
children [
DEF _1 WorldInfo {
info "Boink2!
author: Sam Chen (sAmbO)
Silicon Graphics Inc. 1996
O2 Out Of Box Experience"
}
DEF _2 NavigationInfo {
headlight FALSE
type "WALK"
}
DEF DIMMER-TIMER TimeSensor {
cycleInterval 5
startTime 0
}
DEF SUN-DIMMER ScalarInterpolator {
key [ 0, 1 ]
keyValue [ 1, 0 ]
}
DEF PTLIGHT-DIMMER ScalarInterpolator {
key [ 0, 0.5, 1 ]
keyValue [ 1, 0.3, 0 ]
}
DEF DIMMER-LOGIC Script {
eventOut SFFloat sunFractionOut
eventOut SFFloat ptLightFractionOut
eventOut SFTime dimmerStartTime
eventOut SFBool coneLightOn
eventOut SFBool cubeLightOn
eventOut SFBool ballLightOn
eventOut SFBool sunOn
eventOut SFInt32 dummyState
eventOut SFBool enableDimmer
eventIn SFBool triggerIn
eventIn SFFloat fractionIn
eventIn SFBool dimmerActive
eventIn SFTime triggerTouchTime
field SFInt32 mainLightState 0
url "vrmlscript:
function triggerIn(isActive) {
if (isActive) {
mainLightState = mainLightState + 1;
if (mainLightState >= 3)
mainLightState = 0;
}
}
function triggerTouchTime(touchTime) {
dimmerStartTime = touchTime;
}
function fractionIn(value) {
if (mainLightState == 0) {
sunFractionOut = 1-value;
}
else if (mainLightState == 1) {
sunFractionOut = 2*value;
ptLightFractionOut = 1-value;
}
else if (mainLightState == 2) {
ptLightFractionOut = 2*value;
}
}
function dimmerActive(isActive) {
if (isActive) {
enableDimmer = FALSE;
if (mainLightState == 1) {
coneLightOn = TRUE;
cubeLightOn = TRUE;
ballLightOn = TRUE;
}
else if (mainLightState == 0)
sunOn = TRUE;
}
if (!isActive) {
enableDimmer = TRUE;
if (mainLightState != 1) {
coneLightOn = FALSE;
cubeLightOn = FALSE;
ballLightOn = FALSE;
}
else if (mainLightState != 0)
sunOn = FALSE;
}
}
"
}
DEF TRACKLIGHT-LOGIC Script {
eventOut SFBool spot0_0On
eventOut SFBool spot0_1On
eventOut SFBool spot0_2On
eventOut SFBool spot0_3On
eventOut SFBool spot1_0On
eventOut SFBool spot1_1On
eventOut SFBool spot1_2On
eventOut SFBool spot1_3On
eventOut SFBool spot2_0On
eventOut SFBool spot2_1On
eventOut SFBool spot2_2On
eventOut SFBool spot2_3On
eventIn SFTime trigger0
eventIn SFTime trigger1
eventIn SFTime trigger2
field SFInt32 state0 0
field SFInt32 state1 2
field SFInt32 state2 -1
url "vrmlscript:
function trigger0(touchTime) {
state0 = state0 + 1;
if (state0 >= 5)
state0 = 0;
spot0_0On = FALSE;
spot0_1On = FALSE;
spot0_2On = FALSE;
spot0_3On = FALSE;
if (state0 == 0) spot0_0On = TRUE;
if (state0 == 1) spot0_1On = TRUE;
if (state0 == 2) spot0_2On = TRUE;
if (state0 == 3) spot0_3On = TRUE;
}
function trigger1(touchTime) {
state1 = state1 + 1;
if (state1 >= 5)
state1 = 0;
spot1_0On = FALSE;
spot1_1On = FALSE;
spot1_2On = FALSE;
spot1_3On = FALSE;
if (state1 == 0) spot1_0On = TRUE;
if (state1 == 1) spot1_1On = TRUE;
if (state1 == 2) spot1_2On = TRUE;
if (state1 == 3) spot1_3On = TRUE;
}
function trigger2(touchTime) {
state2 = state2 + 1;
if (state2 >= 5)
state2 = 0;
spot2_0On = FALSE;
spot2_1On = FALSE;
spot2_2On = FALSE;
spot2_3On = FALSE;
if (state2 == 0) spot2_0On = TRUE;
if (state2 == 1) spot2_1On = TRUE;
if (state2 == 2) spot2_2On = TRUE;
if (state2 == 3) spot2_3On = TRUE;
}
"
}
Group {
children [
DEF VIEWPOINTS Group {
children [
DEF entry Viewpoint {
position 4 8 35
orientation 0 1 0 0.15
fieldOfView 1
description "entry"
}
DEF view1 Viewpoint {
position 10 2 15
orientation 0 1 0 0.6
fieldOfView 1.2
description "viewpoint1"
}
DEF view2 Viewpoint {
position 15 3 10
orientation 0 1 0 1
fieldOfView 1.4
description "viewpoint2"
}
DEF view3 Viewpoint {
position 10 2 2
orientation 0 1 0 1.3
fieldOfView 1.6
description "viewpoint3"
}
]
}
DEF REFLECTED-LIGHT DirectionalLight {
on TRUE
intensity 0.5
direction 0 1 0
}
DEF SUN SpotLight {
on TRUE
intensity 1
location 0 12 0
direction 0 -1 0
beamWidth 0.4
cutOffAngle 1.57
}
DEF AMBIENT-SOUNDTRACK Sound {
source AudioClip {
url "Sounds/spacey.wav"
loop TRUE
startTime 1
}
intensity 0.5
minFront 10
maxFront 50
minBack 10
maxBack 50
spatialize FALSE
}
DEF REFL-CUBE-ROOT Transform {
children DEF REFL-CUBE-XFORM-SHUTTLE Transform {
children [
DEF REFL-CUBE-SHUTTLER PositionInterpolator {
key [ 0, 0.125, 0.25, 0.375,
0.5, 0.625, 0.75, 0.875,
1 ]
keyValue [ 0 0 0,
-2 0 -2,
-4 0 -4,
0 0 -5,
4 0 -6,
5 0 -4,
6 0 -2,
3 0 -1,
0 0 0 ]
}
DEF REFL-CUBE-XFORM-BOUNCE Transform {
children [
DEF REFL-CUBE-BOUNCER PositionInterpolator {
key [ 0, 0.04, 0.1, 0.2,
0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9, 0.96,
1 ]
keyValue [ 0 0 0,
0 -0.66 0,
0 -1.664 0,
0 -3.036 0,
0 -4.016 0,
0 -4.604 0,
0 -4.8 0,
0 -4.604 0,
0 -4.016 0,
0 -3.036 0,
0 -1.664 0,
0 -0.66 0,
0 0 0 ]
}
DEF REFL-CUBE-DEFORM-XFORM Transform {
children DEF REFL-CUBE-SWITCH Switch {
whichChoice 0
choice [
DEF INLINE-CUBE0 Transform {
children Shape {
appearance Appearance {
material Material {
diffuseColor 0 0 1
}
}
geometry Box {
}
}
translation 0 -0.4 0
scale 0.7 0.7 0.7
}
Transform {
children [
DEF DICE-REFL-XFORM Transform {
children [
DEF DICE-REFL-CUBE Transform {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0.37234
diffuseColor 1 1 1
specularColor 0 0 0
emissiveColor 0 0 0
shininess 0.2
transparency 0
}
}
geometry Box {
}
}
translation 0 -0.4 0
scale 0.7 0.7 0.7
}
DEF ONE Transform {
children DEF _18 Transform {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0
diffuseColor 0 0 0
specularColor 0 0 0
emissiveColor 0 0 0
shininess 0
transparency 0
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ -0.273964 0.0103553 0.709745,
-0.371403 -0.0932954 0.709745,
-0.268615 -0.191044 0.709745,
-0.169004 -0.0874824 0.709745 ]
}
coordIndex [ 2, 0, 1, -1, 0, 2, 3, -1 ]
colorIndex [ ]
solid FALSE
}
}
translation 0.438655 -0.259008 -0.373927
rotation 0 0 1 0
scale 1.53072 1.53072 1.53072
}
translation 0.00330409 -0.0148406 0.0120958
rotation 0 -1 0 1.5708
scale 1 1 1
}
DEF FIVE Transform {
children [
Transform {
children USE _18
translation 0.392234 -0.395685 -0.0072127
rotation 0 0 1 0
}
Transform {
children USE _18
translation 0.377448 0.379088 -0.0072127
rotation 0 0 1 0
}
Transform {
children USE _18
translation -0.397325 0.379088 -0.0072127
rotation 0 0 1 0
}
Transform {
children USE _18
translation -0.397325 -0.383856 -0.0072127
rotation 0 0 1 0
}
USE _18
]
}
DEF THREE Transform {
children [
Transform {
children USE _18
translation -0.402634 -0.411759 -0.0266201
rotation 1 0 0 4.71239
scale 1 1 1
}
Transform {
children USE _18
translation 0.355211 -0.376082 -0.797508
rotation -1 0 0 1.5708
scale 1 0.999999 0.999999
}
Transform {
children USE _18
translation -0.0215211 -0.408848 -0.412381
rotation 1 0 0 4.70911
scale 1 1 1
}
]
}
DEF FOUR Transform {
children [
Transform {
children USE _18
translation -0.00797015 0.358792 0.413702
rotation 0 1 0 1.5708
scale 1 1 1
}
Transform {
children USE _18
translation 1.41994 0.362765 -0.44969
rotation 0 -1 0 1.57079
scale 1 1 1
}
Transform {
children USE _18
translation -0.00441551 -0.359312 0.411877
rotation 0 1 0 1.5708
scale 1 1 1
}
Transform {
children USE _18
translation 1.42025 -0.367389 -0.445659
rotation 0 -1 0 1.5708
scale 1 0.999999 1
}
]
}
DEF SIX Transform {
children [
Transform {
children USE _18
translation -0.0303746 0.359532 -1.42003
rotation 0 0 1 0
}
Transform {
children USE _18
translation 0.426891 0.36159 -1.41721
rotation 0 0 1 0
}
Transform {
children USE _18
translation -0.498643 0.363116 -1.41372
rotation 0 0 1 0
}
Transform {
children USE _18
translation -0.044123 -0.343557 -1.42939
rotation 0 0 1 0
}
Transform {
children USE _18
translation -0.488142 -0.353554 -1.4206
rotation 0 0 1 0
}
Transform {
children USE _18
translation 0.431724 -0.350167 -1.4129
rotation 0 0 1 0
}
]
}
DEF TWO Transform {
children [
Transform {
children USE _18
translation 0.354349 -1.8148 -0.802267
rotation 1 0 0 4.71239
scale 0.999999 1 1
}
Transform {
children USE _18
translation -0.427804 -1.82532 -0.00819719
rotation -1 0 0 1.5708
scale 1 1 1
}
]
}
]
rotation 0 0 1 0
}
DEF DICE-REFL-TIMER TimeSensor {
cycleInterval 16
loop TRUE
startTime 1
stopTime 0
}
DEF DICE-REFL-ENGINE OrientationInterpolator {
key [ 0, 0.5, 1 ]
keyValue [ 0 0 1 0,
0 1 0 3.14,
0 1 0 6.28002 ]
}
]
}
DEF INLINE-CUBE2 Transform {
children Shape {
appearance Appearance {
material Material {
diffuseColor 0.6 0.6 0
}
}
geometry Box {
}
}
translation 0 -0.4 0
scale 0.7 0.7 0.7
}
]
}
translation 0 -0.0156078 0
scale 1.3 0.7 1.3
}
]
translation 0 0 0
}
]
translation 0 0 0
}
translation 3 -1 2
}
DEF REFL-CONE-ROOT Transform {
children DEF REFL-CONE-XFORM-SHUTTLE Transform {
children [
DEF REFL-CONE-XFORM-BOUNCE Transform {
children [
DEF REFL-CONE-DEFORM-XFORM Transform {
children DEF REFL-CONE-SWITCH Switch {
whichChoice 0
choice [
DEF INLINE-CONE0 Transform {
children Shape {
appearance Appearance {
material Material {
diffuseColor 0 1 0
}
}
geometry Cone {
}
}
translation 0 -0.7 0
}
DEF INLINE-CONE1 Group {
children Transform {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0.2
diffuseColor 1 1 1
specularColor 0 0 0
emissiveColor 0 0 0
shininess 0.2
transparency 0
}
texture ImageTexture {
url "stripesEven.rgba"
}
textureTransform TextureTransform {
translation 0 0.82
rotation 0
scale 1 1.14803
center 0.5 -0.32
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ 0 -1 -1,
0 1 0,
0.382683 -1 -0.92388,
0.707107 -1 -0.707107,
0.92388 -1 -0.382683,
1 -1 4.37114e-08,
0.92388 -1 0.382684,
0.707107 -1 0.707107,
0.382683 -1 0.92388,
1.50996e-07 -1 1,
-0.382683 -1 0.92388,
-0.707107 -1 0.707107,
-0.92388 -1 0.382684,
-1 -1 -1.19249e-08,
-0.923879 -1 -0.382684,
-0.707107 -1 -0.707107,
-0.382683 -1 -0.92388,
0 -1 0 ]
}
coordIndex [ 0, 1, 2, -1, 2, 1, 3, -1,
3, 1, 4, -1, 4, 1, 5, -1,
5, 1, 6, -1, 6, 1, 7, -1,
7, 1, 8, -1, 8, 1, 9, -1,
9, 1, 10, -1, 10, 1, 11, -1,
11, 1, 12, -1, 12, 1, 13, -1,
13, 1, 14, -1, 14, 1, 15, -1,
15, 1, 16, -1, 16, 1, 0, -1,
17, 0, 2, -1, 17, 2, 3, -1,
17, 3, 4, -1, 17, 4, 5, -1,
17, 5, 6, -1, 17, 6, 7, -1,
17, 7, 8, -1, 17, 8, 9, -1,
17, 9, 10, -1, 17, 10, 11, -1,
17, 11, 12, -1, 17, 12, 13, -1,
17, 13, 14, -1, 17, 14, 15, -1,
17, 15, 16, -1, 17, 16, 0, -1 ]
texCoord TextureCoordinate {
point [ 0 0,
0 1,
0.0625 0,
0.0625 1,
0.125 0,
0.125 1,
0.1875 0,
0.1875 1,
0.25 0,
0.25 1,
0.3125 0,
0.3125 1,
0.375 0,
0.375 1,
0.4375 0,
0.4375 1,
0.5 0,
0.5 1,
0.5625 0,
0.5625 1,
0.625 0,
0.625 1,
0.6875 0,
0.6875 1,
0.75 0,
0.75 1,
0.8125 0,
0.8125 1,
0.875 0,
0.875 1,
0.9375 0,
0.9375 1,
1 0,
0.5 0.5,
0.691342 0.0380602,
0.853553 0.146447,
0.96194 0.308658,
1 0.5,
0.96194 0.691342,
0.853553 0.853553,
0.691342 0.96194,
0.5 1,
0.308658 0.96194,
0.146447 0.853554,
0.0380602 0.691342,
0 0.5,
0.0380603 0.308658,
0.146447 0.146446,
0.308659 0.0380601 ]
}
texCoordIndex [ 0, 1, 2, -1, 2, 3, 4, -1,
4, 5, 6, -1, 6, 7, 8, -1,
8, 9, 10, -1, 10, 11, 12, -1,
12, 13, 14, -1, 14, 15, 16, -1,
16, 17, 18, -1, 18, 19, 20, -1,
20, 21, 22, -1, 22, 23, 24, -1,
24, 25, 26, -1, 26, 27, 28, -1,
28, 29, 30, -1, 30, 31, 32, -1,
33, 16, 34, -1, 33, 34, 35, -1,
33, 35, 36, -1, 33, 36, 37, -1,
33, 37, 38, -1, 33, 38, 39, -1,
33, 39, 40, -1, 33, 40, 41, -1,
33, 41, 42, -1, 33, 42, 43, -1,
33, 43, 44, -1, 33, 44, 45, -1,
33, 45, 46, -1, 33, 46, 47, -1,
33, 47, 48, -1, 33, 48, 16, -1 ]
creaseAngle 1.92265
}
}
translation 0 -0.7 0
}
}
DEF INLINE-CONE2 Transform {
children Shape {
appearance Appearance {
material Material {
diffuseColor 0 1 0.5
}
}
geometry Cone {
}
}
translation 0 -0.7 0
}
]
}
rotation 1 0 0 3.14
scale 1.4 0.5 1.4
}
DEF REFL-CONE-BOUNCER PositionInterpolator {
key [ 0, 0.04, 0.1, 0.2,
0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9, 0.96,
1 ]
keyValue [ 0 0 0,
0 -0.66 0,
0 -1.664 0,
0 -3.036 0,
0 -4.016 0,
0 -4.604 0,
0 -4.8 0,
0 -4.604 0,
0 -4.016 0,
0 -3.036 0,
0 -1.664 0,
0 -0.66 0,
0 0 0 ]
}
]
translation 0 0 0
}
DEF REFL-CONE-SHUTTLER PositionInterpolator {
key [ 0, 0.125, 0.25, 0.375,
0.5, 0.625, 0.75, 0.875,
1 ]
keyValue [ 0 0 0,
-1 0 1,
-2 0 2,
0 0 6,
2 0 10,
4 0 8,
6 0 6,
3 0 3,
0 0 0 ]
}
]
translation 0 0 0
}
translation -3 -1.67 -2
}
DEF REFL-BALL-ROOT Transform {
children DEF REFL-BALL-XFORM-SHUTTLE Transform {
children [
DEF REFL-BALL-SHUTTLER PositionInterpolator {
key [ 0, 0.125, 0.25, 0.375,
0.5, 0.625, 0.75, 0.875,
1 ]
keyValue [ 0 0 0,
2 0 0,
4 0 0,
6 0 0,
8 0 0,
6 0 0,
4 0 0,
2 0 0,
0 0 0 ]
}
DEF REFL-BALL-XFORM-BOUNCE Transform {
children [
DEF REFL-BALL-BOUNCER PositionInterpolator {
key [ 0, 0.04, 0.1, 0.2,
0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9, 0.96,
1 ]
keyValue [ 0 0 0,
0 -0.66 0,
0 -1.664 0,
0 -3.036 0,
0 -4.016 0,
0 -4.604 0,
0 -4.8 0,
0 -4.604 0,
0 -4.016 0,
0 -3.036 0,
0 -1.664 0,
0 -0.66 0,
0 0 0 ]
}
DEF REFL-BALL-DEFORM-XFORM Transform {
children DEF REFL-BALL-SWITCH Switch {
whichChoice 0
choice [
DEF INLINE-BALL0 Transform {
children Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 0
specularColor 0.2 0.2 0.2
}
}
geometry Sphere {
}
}
translation 0 -0.2 0
}
DEF INLINE-BALL1 Transform {
children [
DEF EYEBALL-TIMER TimeSensor {
cycleInterval 16
loop TRUE
startTime 1
stopTime 0
}
DEF EYEBALL-ENGINE OrientationInterpolator {
key [ 0, 0.5, 1 ]
keyValue [ 0 0 1 0,
0 1 0 3.14,
0 1 0 6.28002 ]
}
Group {
children DEF EYEBALL-XFORM Transform {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0.2
diffuseColor 1 1 1
specularColor 1 1 1
emissiveColor 0 0 0
shininess 1
transparency 0
}
texture ImageTexture {
url "eye.jpg"
}
textureTransform TextureTransform {
translation 0 0
rotation 0
scale 1.2386 0.579668
center 0.5 0.5
}
}
geometry Sphere {
}
}
translation 0 -0.2 0
rotation 0 0 1 0
}
}
]
}
DEF INLINE-BALL2 Transform {
children Shape {
appearance Appearance {
material Material {
diffuseColor 0.5 0 1
specularColor 0.2 0.2 0.2
}
}
geometry Sphere {
}
}
translation 0 -0.2 0
}
]
}
scale 1.3 0.7 1.3
}
]
translation 0 0 0
}
]
translation 0 0 0
}
translation 0 -1.4 0
#rotation 0 -1 0 0.78
}
DEF ROOM-FLOOR-ROOT Transform {
children DEF ROOM-FLOOR Transform {
children [
DEF SWITCH-LOGIC Script {
eventOut SFInt32 floorChoice
eventOut SFInt32 leftWallChoice
eventOut SFInt32 rightWallChoice
eventOut SFInt32 leftWallReflChoice
eventOut SFInt32 rightWallReflChoice
eventIn SFBool floorTriggerIn
eventIn SFBool leftWallTriggerIn
eventIn SFBool rightWallTriggerIn
eventIn SFTime proxEnteredTime
eventIn SFTime proxExitTime
field SFInt32 floorState 0
field SFInt32 leftWallState 0
field SFInt32 rightWallState 0
url "vrmlscript:
function floorTriggerIn(isActive) {
if (isActive)
floorState = floorState + 1;
if (floorState >= 6)
floorState = 0;
floorChoice = floorState;
}
function leftWallTriggerIn(isActive) {
if (isActive)
leftWallState = leftWallState + 1;
if (leftWallState >= 6)
leftWallState = 0;
leftWallChoice = leftWallState;
}
function rightWallTriggerIn(isActive) {
if (isActive)
rightWallState = rightWallState + 1;
if (rightWallState >= 6)
rightWallState = 0;
rightWallChoice = rightWallState;
}
function proxEnteredTime(value, time)
{
leftWallReflChoice = -1;
rightWallReflChoice = -1;
}
function proxExitTime(value, time)
{
leftWallReflChoice = leftWallState;
rightWallReflChoice = rightWallState;
}
"
}
Group {
children [
Transform {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0
diffuseColor 0 0 0
specularColor 0 0 0
emissiveColor 0 0 0
shininess 0
transparency 0
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ -1 1 1,
-1 -1 1,
1 1 1,
1 -1 1,
1 1 -1,
1 -1 -1,
-1 1 -1,
-1 -1 -1 ]
}
coordIndex [ 0, 1, 3, 2, -1, 4, 5, 7,
6, -1, 6, 7, 1, 0, -1, 2,
3, 5, 4, -1, 1, 7, 5, 3,
-1 ]
}
}
translation -0.0620249 -6.77444 -0.0692099
rotation 0 0 1 0
scale 12.059 6.07399 12.0643
}
Transform {
children [
Transform {
children [
DEF FLOOR-TRIGGER TouchSensor {
}
DEF FLOOR-SWITCH Switch {
whichChoice 0
choice [
DEF CHECKER-FLOOR-ROOT Group {
children Transform {
children [
Shape {
appearance Appearance {
material Material {
ambientIntensity 1
diffuseColor 1 1 1
specularColor 0 0 0
emissiveColor 0 0 0
shininess 0.765957
transparency 0.21
}
}
geometry DEF CHECKERFLOOR-IFS IndexedFaceSet {
coord Coordinate {
point [ 10 -0.7 10,
-10 -0.7 -10,
0 -0.7 -10,
0 -0.7 10,
0 -0.7 0,
-10 -0.7 0,
10 -0.7 0,
-10 -0.7 -5,
0 -0.7 -5,
-5 -0.7 -5,
-5 -0.7 0,
-5 -0.7 -10,
5 -0.7 -10,
5 -0.7 0,
5 -0.7 -5,
10 -0.7 -5,
-5 -0.7 10,
-5 -0.7 5,
0 -0.7 5,
-10 -0.7 5,
5 -0.7 10,
5 -0.7 5,
10 -0.7 5,
-10 -0.7 -7.5,
-5 -0.7 -7.5,
-7.5 -0.7 -7.5,
-7.5 -0.7 -5,
-7.5 -0.7 -10,
0 -0.7 -7.5,
-2.5 -0.7 -7.5,
-2.5 -0.7 -5,
-2.5 -0.7 -10,
5 -0.7 -7.5,
2.5 -0.7 -7.5,
2.5 -0.7 -5,
2.5 -0.7 -10,
7.5 -0.7 -10,
7.5 -0.7 -5,
7.5 -0.7 -7.5,
10 -0.7 -7.5,
-7.5 -0.7 0,
-7.5 -0.7 -2.5,
-5 -0.7 -2.5,
-10 -0.7 -2.5,
-7.5 -0.7 10,
-7.5 -0.7 5,
-7.5 -0.7 7.5,
-5 -0.7 7.5,
-10 -0.7 7.5,
-7.5 -0.7 2.5,
-5 -0.7 2.5,
-10 -0.7 2.5,
0 -0.7 -2.5,
-2.5 -0.7 -2.5,
-2.5 -0.7 0,
2.5 -0.7 0,
2.5 -0.7 -2.5,
5 -0.7 -2.5,
7.5 -0.7 0,
7.5 -0.7 -2.5,
10 -0.7 -2.5,
0 -0.7 7.5,
-2.5 -0.7 7.5,
-2.5 -0.7 5,
-2.5 -0.7 10,
-2.5 -0.7 2.5,
0 -0.7 2.5,
5 -0.7 2.5,
2.5 -0.7 2.5,
2.5 -0.7 5,
7.5 -0.7 5,
7.5 -0.7 2.5,
10 -0.7 2.5,
2.5 -0.7 10,
2.5 -0.7 7.5,
5 -0.7 7.5,
7.5 -0.7 10,
7.5 -0.7 7.5,
10 -0.7 7.5 ]
}
coordIndex [ 26, 9, 24, 25, -1, 27, 1, 23,
25, -1, 30, 8, 28, 29, -1, 31,
11, 24, 29, -1, 34, 14, 32, 33,
-1, 35, 2, 28, 33, -1, 36, 12,
32, 38, -1, 15, 39, 38, 37, -1,
40, 10, 42, 41, -1, 7, 43, 41,
26, -1, 44, 16, 47, 46, -1, 19,
48, 46, 45, -1, 45, 17, 50, 49,
-1, 5, 51, 49, 40, -1, 30, 9,
42, 53, -1, 54, 4, 52, 53, -1,
55, 13, 57, 56, -1, 8, 52, 56,
34, -1, 37, 14, 57, 59, -1, 6,
60, 59, 58, -1, 63, 17, 47, 62,
-1, 64, 3, 61, 62, -1, 54, 10,
50, 65, -1, 18, 66, 65, 63, -1,
69, 21, 67, 68, -1, 55, 4, 66,
68, -1, 58, 13, 67, 71, -1, 22,
72, 71, 70, -1, 73, 20, 75, 74,
-1, 18, 61, 74, 69, -1, 70, 21,
75, 77, -1, 0, 78, 77, 76, -1 ]
colorIndex [ ]
}
}
Transform {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0
diffuseColor 0 0 0
specularColor 0.189076 0.189076 0.189076
emissiveColor 0 0 0
shininess 1
transparency 0.21
}
}
geometry USE CHECKERFLOOR-IFS
}
translation 0 0 0
rotation 0 1 0 1.5708
scale 1 1 1
}
]
}
}
DEF AQUA-FLOOR-ROOT Group {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 1
diffuseColor 0 1 0.557249
specularColor 0 0 0
emissiveColor 0 0 0
shininess 0.2
transparency 0.21
}
}
geometry DEF PLAIN-FLOOR-IFS_47 IndexedFaceSet {
coord Coordinate {
point [ 10 -0.7 10,
10 -0.7 -10,
-10 -0.7 -10,
-10 -0.7 10,
0 -0.7 -10,
0 -0.7 10,
0 -0.7 0,
-10 -0.7 0,
10 -0.7 0,
-10 -0.7 -5,
0 -0.7 -5,
-5 -0.7 -5,
-5 -0.7 0,
-5 -0.7 -10,
5 -0.7 -10,
5 -0.7 0,
5 -0.7 -5,
10 -0.7 -5,
-5 -0.7 10,
-5 -0.7 5,
0 -0.7 5,
-10 -0.7 5,
5 -0.7 10,
5 -0.7 5,
10 -0.7 5,
-10 -0.7 -7.5,
-5 -0.7 -7.5,
-7.5 -0.7 -7.5,
-7.5 -0.7 -5,
-7.5 -0.7 -10,
0 -0.7 -7.5,
-2.5 -0.7 -7.5,
-2.5 -0.7 -5,
-2.5 -0.7 -10,
5 -0.7 -7.5,
2.5 -0.7 -7.5,
2.5 -0.7 -5,
2.5 -0.7 -10,
7.5 -0.7 -10,
7.5 -0.7 -5,
7.5 -0.7 -7.5,
10 -0.7 -7.5,
-7.5 -0.7 0,
-7.5 -0.7 -2.5,
-5 -0.7 -2.5,
-10 -0.7 -2.5,
-7.5 -0.7 10,
-7.5 -0.7 5,
-7.5 -0.7 7.5,
-5 -0.7 7.5,
-10 -0.7 7.5,
-7.5 -0.7 2.5,
-5 -0.7 2.5,
-10 -0.7 2.5,
0 -0.7 -2.5,
-2.5 -0.7 -2.5,
-2.5 -0.7 0,
2.5 -0.7 0,
2.5 -0.7 -2.5,
5 -0.7 -2.5,
7.5 -0.7 0,
7.5 -0.7 -2.5,
10 -0.7 -2.5,
0 -0.7 7.5,
-2.5 -0.7 7.5,
-2.5 -0.7 5,
-2.5 -0.7 10,
-2.5 -0.7 2.5,
0 -0.7 2.5,
5 -0.7 2.5,
2.5 -0.7 2.5,
2.5 -0.7 5,
7.5 -0.7 5,
7.5 -0.7 2.5,
10 -0.7 2.5,
2.5 -0.7 10,
2.5 -0.7 7.5,
5 -0.7 7.5,
7.5 -0.7 10,
7.5 -0.7 7.5,
10 -0.7 7.5 ]
}
coordIndex [ 25, 9, 28, 27, -1, 28, 11, 26,
27, -1, 13, 29, 27, 26, -1, 29,
2, 25, 27, -1, 26, 11, 32, 31,
-1, 32, 10, 30, 31, -1, 4, 33,
31, 30, -1, 33, 13, 26, 31, -1,
30, 10, 36, 35, -1, 36, 16, 34,
35, -1, 14, 37, 35, 34, -1, 37,
4, 30, 35, -1, 38, 14, 34, 40,
-1, 34, 16, 39, 40, -1, 17, 41,
40, 39, -1, 41, 1, 38, 40, -1,
42, 12, 44, 43, -1, 44, 11, 28,
43, -1, 9, 45, 43, 28, -1, 45,
7, 42, 43, -1, 46, 18, 49, 48,
-1, 49, 19, 47, 48, -1, 21, 50,
48, 47, -1, 50, 3, 46, 48, -1,
47, 19, 52, 51, -1, 52, 12, 42,
51, -1, 7, 53, 51, 42, -1, 53,
21, 47, 51, -1, 54, 10, 32, 55,
-1, 32, 11, 44, 55, -1, 12, 56,
55, 44, -1, 56, 6, 54, 55, -1,
57, 15, 59, 58, -1, 59, 16, 36,
58, -1, 10, 54, 58, 36, -1, 54,
6, 57, 58, -1, 39, 16, 59, 61,
-1, 59, 15, 60, 61, -1, 8, 62,
61, 60, -1, 62, 17, 39, 61, -1,
63, 20, 65, 64, -1, 65, 19, 49,
64, -1, 18, 66, 64, 49, -1, 66,
5, 63, 64, -1, 56, 12, 52, 67,
-1, 52, 19, 65, 67, -1, 20, 68,
67, 65, -1, 68, 6, 56, 67, -1,
68, 20, 71, 70, -1, 71, 23, 69,
70, -1, 15, 57, 70, 69, -1, 57,
6, 68, 70, -1, 60, 15, 69, 73,
-1, 69, 23, 72, 73, -1, 24, 74,
73, 72, -1, 74, 8, 60, 73, -1,
75, 22, 77, 76, -1, 77, 23, 71,
76, -1, 20, 63, 76, 71, -1, 63,
5, 75, 76, -1, 72, 23, 77, 79,
-1, 77, 22, 78, 79, -1, 0, 80,
79, 78, -1, 80, 24, 72, 79, -1 ]
colorIndex [ ]
}
}
}
DEF WHITE-FLOOR-ROOT Group {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 1
diffuseColor 1 1 1
specularColor 0 0 0
emissiveColor 0 0 0
shininess 0.2
transparency 0.21
}
}
geometry USE PLAIN-FLOOR-IFS_47
}
}
DEF WOOD-TILE-ROOT Group {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 1
diffuseColor 1 1 1
specularColor 0 0 0
emissiveColor 0 0 0
shininess 0.2
transparency 0.21
}
texture ImageTexture {
url "pqb1288_.jpg"
}
textureTransform TextureTransform {
scale 3 3
}
}
geometry USE PLAIN-FLOOR-IFS_47
}
}
DEF RICH-WOOD-ROOT Group {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 1
diffuseColor 1 1 1
specularColor 0 0 0
emissiveColor 0 0 0
shininess 0.2
transparency 0.21
}
texture ImageTexture {
url "mb_1288_.jpg"
}
textureTransform TextureTransform {
scale 3 3
}
}
geometry USE PLAIN-FLOOR-IFS_47
}
}
DEF MARBLE-ROOT Group {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 1
diffuseColor 1 1 1
specularColor 0 0 0
emissiveColor 0 0 0
shininess 0.2
transparency 0.21
}
texture ImageTexture {
url "abrozzo.jpg"
}
textureTransform TextureTransform {
scale 3 3
}
}
geometry USE PLAIN-FLOOR-IFS_47
}
}
]
}
]
}
Transform {
children [
DEF LEFT-WALL-TRIGGER TouchSensor {
}
DEF LEFT-WALL-SWITCH Switch {
whichChoice 0
choice [
DEF WALL0-RED Shape {
appearance Appearance {
material Material {
diffuseColor 1 0 0
}
}
geometry DEF LEFT-WALL-IFS IndexedFaceSet {
coord Coordinate {
point [ 10 -0.7 10,
10 -0.7 -10,
-10 -0.7 -10,
-10 -0.7 10,
0 -0.7 -10,
0 -0.7 10,
0 -0.7 0,
-10 -0.7 0,
10 -0.7 0,
-10 -0.7 -5,
0 -0.7 -5,
-5 -0.7 -5,
-5 -0.7 0,
-5 -0.7 -10,
5 -0.7 -10,
5 -0.7 0,
5 -0.7 -5,
10 -0.7 -5,
-5 -0.7 10,
-5 -0.7 5,
0 -0.7 5,
-10 -0.7 5,
5 -0.7 10,
5 -0.7 5,
10 -0.7 5,
-10 -0.7 -7.5,
-5 -0.7 -7.5,
-7.5 -0.7 -7.5,
-7.5 -0.7 -5,
-7.5 -0.7 -10,
0 -0.7 -7.5,
-2.5 -0.7 -7.5,
-2.5 -0.7 -5,
-2.5 -0.7 -10,
5 -0.7 -7.5,
2.5 -0.7 -7.5,
2.5 -0.7 -5,
2.5 -0.7 -10,
7.5 -0.7 -10,
7.5 -0.7 -5,
7.5 -0.7 -7.5,
10 -0.7 -7.5,
-7.5 -0.7 0,
-7.5 -0.7 -2.5,
-5 -0.7 -2.5,
-10 -0.7 -2.5,
-7.5 -0.7 10,
-7.5 -0.7 5,
-7.5 -0.7 7.5,
-5 -0.7 7.5,
-10 -0.7 7.5,
-7.5 -0.7 2.5,
-5 -0.7 2.5,
-10 -0.7 2.5,
0 -0.7 -2.5,
-2.5 -0.7 -2.5,
-2.5 -0.7 0,
2.5 -0.7 0,
2.5 -0.7 -2.5,
5 -0.7 -2.5,
7.5 -0.7 0,
7.5 -0.7 -2.5,
10 -0.7 -2.5,
0 -0.7 7.5,
-2.5 -0.7 7.5,
-2.5 -0.7 5,
-2.5 -0.7 10,
-2.5 -0.7 2.5,
0 -0.7 2.5,
5 -0.7 2.5,
2.5 -0.7 2.5,
2.5 -0.7 5,
7.5 -0.7 5,
7.5 -0.7 2.5,
10 -0.7 2.5,
2.5 -0.7 10,
2.5 -0.7 7.5,
5 -0.7 7.5,
7.5 -0.7 10,
7.5 -0.7 7.5,
10 -0.7 7.5 ]
}
coordIndex [ 25, 9, 28, 27, -1, 28, 11, 26,
27, -1, 13, 29, 27, 26, -1, 29,
2, 25, 27, -1, 26, 11, 32, 31,
-1, 32, 10, 30, 31, -1, 4, 33,
31, 30, -1, 33, 13, 26, 31, -1,
30, 10, 36, 35, -1, 36, 16, 34,
35, -1, 14, 37, 35, 34, -1, 37,
4, 30, 35, -1, 38, 14, 34, 40,
-1, 34, 16, 39, 40, -1, 17, 41,
40, 39, -1, 41, 1, 38, 40, -1,
42, 12, 44, 43, -1, 44, 11, 28,
43, -1, 9, 45, 43, 28, -1, 45,
7, 42, 43, -1, 46, 18, 49, 48,
-1, 49, 19, 47, 48, -1, 21, 50,
48, 47, -1, 50, 3, 46, 48, -1,
47, 19, 52, 51, -1, 52, 12, 42,
51, -1, 7, 53, 51, 42, -1, 53,
21, 47, 51, -1, 54, 10, 32, 55,
-1, 32, 11, 44, 55, -1, 12, 56,
55, 44, -1, 56, 6, 54, 55, -1,
57, 15, 59, 58, -1, 59, 16, 36,
58, -1, 10, 54, 58, 36, -1, 54,
6, 57, 58, -1, 39, 16, 59, 61,
-1, 59, 15, 60, 61, -1, 8, 62,
61, 60, -1, 62, 17, 39, 61, -1,
63, 20, 65, 64, -1, 65, 19, 49,
64, -1, 18, 66, 64, 49, -1, 66,
5, 63, 64, -1, 56, 12, 52, 67,
-1, 52, 19, 65, 67, -1, 20, 68,
67, 65, -1, 68, 6, 56, 67, -1,
68, 20, 71, 70, -1, 71, 23, 69,
70, -1, 15, 57, 70, 69, -1, 57,
6, 68, 70, -1, 60, 15, 69, 73,
-1, 69, 23, 72, 73, -1, 24, 74,
73, 72, -1, 74, 8, 60, 73, -1,
75, 22, 77, 76, -1, 77, 23, 71,
76, -1, 20, 63, 76, 71, -1, 63,
5, 75, 76, -1, 72, 23, 77, 79,
-1, 77, 22, 78, 79, -1, 0, 80,
79, 78, -1, 80, 24, 72, 79, -1 ]
}
}
DEF WALL1-BLUE Shape {
appearance Appearance {
material Material {
diffuseColor 0 0 1
}
}
geometry USE LEFT-WALL-IFS
}
DEF WALL2-WHITE Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 1
}
}
geometry USE LEFT-WALL-IFS
}
DEF WALL3-GRANITE Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 1
}
texture ImageTexture {
url "ky_1288_.jpg"
}
textureTransform TextureTransform {
scale 2 2
}
}
geometry USE LEFT-WALL-IFS
}
DEF WALL4-RUST Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 1
}
texture ImageTexture {
url "tg2_1s8_.jpg"
}
textureTransform TextureTransform {
scale 1.5 2.5
}
}
geometry USE LEFT-WALL-IFS
}
DEF WALL5-SANDSTONE Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 1
emissiveColor 0.3 0.3 0.3
}
texture ImageTexture {
url "hoL.jpg"
}
textureTransform TextureTransform {
scale 2.5 2.5
}
}
geometry USE LEFT-WALL-IFS
}
]
}
]
translation -9.298 5.32404 0
rotation 0 0 -1 1.5708
scale 0.607226 0.999996 1
scaleOrientation 0 0 1 0
}
Transform {
children [
DEF RIGHT-WALL-TRIGGER TouchSensor {
}
DEF RIGHT-WALL-SWITCH Switch {
whichChoice 0
choice [
DEF WALL0-CYAN Shape {
appearance Appearance {
material Material {
diffuseColor 0 1 1
}
}
geometry USE LEFT-WALL-IFS
}
DEF WALL1-YELLOW Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 0
}
}
geometry USE LEFT-WALL-IFS
}
DEF WALL2-WHITE_60 Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 1
}
}
geometry USE LEFT-WALL-IFS
}
DEF WALL3-CANYON Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 1
}
texture ImageTexture {
url "isaL.jpg"
}
}
geometry USE LEFT-WALL-IFS
}
DEF WALL4-MARBLE Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 1
}
texture ImageTexture {
url "p1L.jpg"
}
}
geometry USE LEFT-WALL-IFS
}
DEF WALL5-BEACH Shape {
appearance Appearance {
material Material {
diffuseColor 1 1 1
emissiveColor 0.3 0.3 0.3
}
texture ImageTexture {
url "tg2_1s8_.jpg"
}
}
geometry USE LEFT-WALL-IFS
}
]
}
]
translation 0.010647 5.37496 -9.29706
rotation -0.577349 0.577351 0.577351 4.18879
scale 0.607228 0.999997 1
scaleOrientation -1 5.30737e-06 5.28175e-06 0.00543727
}
]
scale 1.2 1 1.2
}
Transform {
children DEF LEFT-REFL-SWITCH Switch {
whichChoice 0
choice [
USE WALL0-RED
USE WALL1-BLUE
USE WALL2-WHITE_60
USE WALL3-GRANITE
USE WALL4-RUST
USE WALL5-SANDSTONE
]
}
translation -11.1934 -6.60922 -0.103659
rotation 0 0 1 4.71239
scale 0.607225 1.2 1.2
scaleOrientation 0 0 1 0
}
Transform {
children DEF RIGHT-REFL-SWITCH Switch {
whichChoice 0
choice [
USE WALL0-CYAN
USE WALL1-YELLOW
USE WALL2-WHITE_60
USE WALL3-CANYON
USE WALL4-MARBLE
USE WALL5-BEACH
]
}
translation -0.0185949 -6.56732 -11.1352
rotation -0.57735 0.577351 0.577351 4.18879
scale 0.607228 1.2 1.2
scaleOrientation 1 -6.18271e-07 -1.01461e-08 4.71239
}
]
}
]
translation 0 -0.1 0
}
}
DEF SCENE-ROOT-XFORM Transform {
children [
DEF SCENE-ROOT-TIMER TimeSensor {
cycleInterval 25
loop TRUE
}
DEF SCENE-ROOT-ROTOR OrientationInterpolator {
key [ 0, 0.5, 1 ]
keyValue [ 0 0 1 0,
0 1 0 3.14,
0 1 0 6.28002 ]
}
DEF CUBE-ROOT Transform {
children [
DEF CUBE-SWITCH-LOGIC Script {
eventOut SFInt32 cubeChoice
eventOut SFTime startTime
eventOut SFInt32 cubeReflChoice
eventOut SFInt32 shadowToggler
eventIn SFBool triggerActive
eventIn SFTime triggerTime
eventIn SFTime proxEnteredTime
eventIn SFTime proxExitTime
field SFInt32 choiceState 0
field SFBool isAnimating FALSE
url "vrmlscript:
function triggerTime(touchTime) {
if (!isAnimating) {
isAnimating = TRUE;
startTime = touchTime;
}
}
function triggerActive(isActive) {
if (isActive)
if (isAnimating)
choiceState = choiceState + 1;
if (choiceState >= 3)
choiceState = 0;
cubeChoice = choiceState;
}
function proxEnteredTime(value, time)
{
cubeReflChoice = -1;
shadowToggler = -1;
}
function proxExitTime(value, time)
{
cubeReflChoice = choiceState;
shadowToggler = 0;
}
"
}
DEF CUBE-SHADOW-XFORM Transform {
children [
DEF CUBE-SHADOW-DEFORMER PositionInterpolator {
key [ 0, 0.04, 0.1, 0.2,
0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9, 0.96,
1 ]
keyValue [ 1 1 1,
1.05 1 1.05,
1.15 1 1.15,
1.3 1 1.3,
1.5 1 1.5,
1.75 1 1.75,
1.8 1 1.8,
1.75 1 1.75,
1.5 1 1.5,
1.3 1 1.3,
1.15 1 1.15,
1.05 1 1.05,
1 1 1 ]
}
DEF CUBE-SHADOW-SWITCH Transform {
children DEF CUBE-SHADOW-SWITCHER Switch {
whichChoice 0
choice Transform {
children DEF CUBE-SHADOW Transform {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0
diffuseColor 0 0 0
transparency 0.21
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ 1 0.1 -1,
-1 0.1 -1,
-1 0.1 1,
1 0.1 1,
1 100 1,
200 100 200,
-200 100 -200 ]
}
coordIndex [ 0, 1, 2, 3, -1, 4, -1, 5,
-1, 6, -1 ]
solid FALSE
creaseAngle 0.523599
}
}
translation 0 -0.8 0
scale 0.8 0.8 0.8
}
translation 0 0 0
scale 0.8 0.8 0.8
}
}
}
]
translation 0 0 0
rotation 0 0 1 0
scale 1 1 1
}
DEF CUBE-XFORM-SHUTTLE Transform {
children [
DEF CUBE-SOUND-TIMER TimeSensor {
cycleInterval 2.5
loop TRUE
startTime 0
stopTime 1
}
DEF CUBE-SOUND-SCRIPT Script {
eventOut SFTime modifiedTime
eventIn SFTime startTime
url "vrmlscript:
function startTime (time){
modifiedTime = time - .2;
}
"
}
DEF CUBE-SHUTTLE-TIMER TimeSensor {
cycleInterval 10
loop TRUE
startTime 0
stopTime 1
}
DEF CUBE-SHUTTLER PositionInterpolator {
key [ 0, 0.125, 0.25, 0.375,
0.5, 0.625, 0.75, 0.875,
1 ]
keyValue [ 0 0 0,
-2 0 -2,
-4 0 -4,
0 0 -5,
4 0 -6,
5 0 -4,
6 0 -2,
3 0 -1,
0 0 0 ]
}
Sound {
source DEF CUBE-SOUND-SOURCE AudioClip {
url "Sounds/cube.wav"
loop FALSE
startTime 0
}
intensity 0.4
minFront 1
maxFront 50
minBack 1
maxBack 50
}
DEF CUBE-XFORM-BOUNCE Transform {
children [
DEF CUBE-SENSOR TouchSensor {
}
DEF CUBE-BOUNCE-TIMER TimeSensor {
cycleInterval 2.5
loop TRUE
startTime 0
stopTime 1
}
DEF CUBE-BOUNCER PositionInterpolator {
key [ 0, 0.04, 0.1, 0.2,
0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9, 0.96,
1 ]
keyValue [ 0 0 0,
0 0.66 0,
0 1.664 0,
0 3.036 0,
0 4.016 0,
0 4.604 0,
0 4.8 0,
0 4.604 0,
0 4.016 0,
0 3.036 0,
0 1.664 0,
0 0.66 0,
0 0 0 ]
}
DEF CUBE-DEFORMER PositionInterpolator {
key [ 0, 0.04, 0.1, 0.2,
0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9, 0.96,
1 ]
keyValue [ 1.3 0.7 1.3,
0.895 1.105 0.895,
0.92 1.08 0.92,
0.955 1.045 0.955,
0.98 1.02 0.98,
0.995 1.005 0.995,
1 1 1,
0.995 1.005 0.995,
0.98 1.02 0.98,
0.955 1.045 0.955,
0.92 1.08 0.92,
0.895 1.105 0.895,
1.3 0.7 1.3 ]
}
DEF CUBE-DEFORM-XFORM Transform {
children DEF CUBE-SWITCH Switch {
whichChoice 0
choice [
USE INLINE-CUBE0
Transform {
children DEF DICE-XFORM Transform {
children [
DEF DICE-CUBE Transform {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0.37234
diffuseColor 1 1 1
specularColor 0 0 0
emissiveColor 0 0 0
shininess 0.2
transparency 0
}
}
geometry Box {
}
}
translation 0 -0.4 0
scale 0.7 0.7 0.7
}
DEF ONE Transform {
children DEF _86 Transform {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0
diffuseColor 0 0 0
specularColor 0 0 0
emissiveColor 0 0 0
shininess 0
transparency 0
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ -0.273964 0.0103553 0.709745,
-0.371403 -0.0932954 0.709745,
-0.268615 -0.191044 0.709745,
-0.169004 -0.0874824 0.709745 ]
}
coordIndex [ 2, 0, 1, -1, 0, 2, 3, -1 ]
colorIndex [ ]
solid FALSE
}
}
translation 0.438655 -0.259008 -0.373927
rotation 0 0 1 0
scale 1.53072 1.53072 1.53072
}
translation 0.00330409 -0.0148406 0.0120958
rotation 0 -1 0 1.5708
scale 1 1 1
}
DEF FIVE Transform {
children [
Transform {
children USE _86
translation 0.392234 -0.395685 -0.0072127
rotation 0 0 1 0
}
Transform {
children USE _86
translation 0.377448 0.379088 -0.0072127
rotation 0 0 1 0
}
Transform {
children USE _86
translation -0.397325 0.379088 -0.0072127
rotation 0 0 1 0
}
Transform {
children USE _86
translation -0.397325 -0.383856 -0.0072127
rotation 0 0 1 0
}
USE _86
]
}
DEF TWO Transform {
children [
Transform {
children USE _86
translation -0.402634 -0.411759 -0.0266201
rotation -1 0 0 1.5708
scale 1 1 1
}
Transform {
children USE _86
translation 0.355211 -0.376082 -0.797508
rotation 1 0 0 4.71239
scale 1 0.999999 0.999999
}
]
}
DEF FOUR Transform {
children [
Transform {
children USE _86
translation -0.00797015 0.358792 0.413702
rotation 0 1 0 1.5708
scale 1 1 1
}
Transform {
children USE _86
translation 1.41994 0.362765 -0.44969
rotation 0 -1 0 1.57079
scale 1 1 1
}
Transform {
children USE _86
translation -0.00441551 -0.359312 0.411877
rotation 0 1 0 1.5708
scale 1 1 1
}
Transform {
children USE _86
translation 1.42025 -0.367389 -0.445659
rotation 0 -1 0 1.5708
scale 1 0.999999 1
}
]
}
DEF SIX Transform {
children [
Transform {
children USE _86
translation -0.0303746 0.359532 -1.42003
rotation 0 0 1 0
}
Transform {
children USE _86
translation 0.426891 0.36159 -1.41721
rotation 0 0 1 0
}
Transform {
children USE _86
translation -0.498643 0.363116 -1.41372
rotation 0 0 1 0
}
Transform {
children USE _86
translation -0.044123 -0.343557 -1.42939
rotation 0 0 1 0
}
Transform {
children USE _86
translation -0.488142 -0.353554 -1.4206
rotation 0 0 1 0
}
Transform {
children USE _86
translation 0.431724 -0.350167 -1.4129
rotation 0 0 1 0
}
]
}
DEF THREE Transform {
children [
Transform {
children USE _86
translation 0.354349 -1.8148 -0.802267
rotation -1 0 0 1.5708
scale 0.999999 1 1
}
Transform {
children USE _86
translation -0.427804 -1.82532 -0.00819719
rotation 1 0 0 4.71239
scale 1 1 1
}
Transform {
children USE _86
translation -0.0314447 -1.82662 -0.410708
rotation 1 0 0 4.70911
scale 1 1 1
}
]
}
]
rotation 0 0 1 0
}
}
USE INLINE-CUBE2
]
}
translation 0 -0.0280296 0
scale 1.3 0.7 1.3
}
DEF CUBE-LIGHT SpotLight {
on FALSE
intensity 1
color 0 0 1
direction 0 -1 0
beamWidth 0.4
cutOffAngle 1.57
}
DEF CUBE-VP Viewpoint {
position 3.39478 0.928051 2.41076
orientation -0.203839 0.977224 0.0590202 0.876226
fieldOfView 1.3
description "Cube Cam"
}
]
translation 0 0 0
}
]
translation 0 0 0
}
]
translation 3 0 2
}
DEF CONE-ROOT Transform {
children [
DEF CONE-SWITCH-LOGIC Script {
eventOut SFInt32 coneChoice
eventOut SFTime startTime
eventOut SFInt32 coneReflChoice
eventIn SFBool triggerActive
eventIn SFTime triggerTime
eventIn SFTime proxEnteredTime
eventIn SFTime proxExitTime
field SFInt32 choiceState 0
field SFBool isAnimating FALSE
url "vrmlscript:
function triggerTime(touchTime) {
if (!isAnimating) {
isAnimating = TRUE;
startTime = touchTime;
}
}
function triggerActive(isActive) {
if (isActive)
if (isAnimating)
choiceState = choiceState + 1;
if (choiceState >= 3)
choiceState = 0;
coneChoice = choiceState;
}
function proxEnteredTime(value, time)
{
coneReflChoice = -1;
}
function proxExitTime(value, time)
{
coneReflChoice = choiceState;
}
"
}
DEF CONE-SHADOW-XFORM Transform {
children [
DEF CONE-SHADOW-DEFORMER PositionInterpolator {
key [ 0, 0.04, 0.1, 0.2,
0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9, 0.96,
1 ]
keyValue [ 1 1 1,
1.05 1 1.05,
1.15 1 1.15,
1.3 1 1.3,
1.5 1 1.5,
1.75 1 1.75,
1.8 1 1.8,
1.75 1 1.75,
1.5 1 1.5,
1.3 1 1.3,
1.15 1 1.15,
1.05 1 1.05,
1 1 1 ]
}
DEF CONE-SHADOW-SWITCH Transform {
children DEF CONE-SHADOW-SWITCHER Switch {
whichChoice 0
choice Transform {
children DEF CONE-SHADOW Transform {
children Shape {
appearance Appearance {
material DEF _DefMat Material {
ambientIntensity 0
diffuseColor 0 0 0
transparency 0.21
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ 2 0.1 0,
1.84776 0.1 0.765366,
1.41421 0.1 1.41421,
0.765369 0.1 1.84776,
2.53518e-06 0.1 2,
-0.765364 0.1 1.84776,
-1.41421 0.1 1.41422,
-1.84776 0.1 0.765371,
-2 0.1 5.07036e-06,
-1.84776 0.1 -0.765362,
-1.41422 0.1 -1.41421,
-0.765373 0.1 -1.84776,
-7.60554e-06 0.1 -2,
0.765359 0.1 -1.84776,
1.41421 0.1 -1.41422,
1.84776 0.1 -0.765376,
2 0.1 0,
1 100 1,
200 100 200,
-200 100 -200 ]
}
coordIndex [ 0, 14, 15, -1, 0, 1, 2, -1,
0, 2, 3, -1, 0, 3, 4, -1,
0, 4, 5, -1, 0, 5, 6, -1,
0, 6, 7, -1, 0, 7, 8, -1,
0, 8, 9, -1, 0, 9, 10, -1,
0, 10, 11, -1, 0, 11, 12, -1,
0, 12, 13, -1, 0, 13, 14, -1,
17, 18, 19, -1 ]
solid FALSE
creaseAngle 0.523599
}
}
translation 0 -0.79 0
scale 0.5 1 0.5
}
translation 0 0 0
scale 0.9 1 0.9
}
}
}
]
translation 0 0 0
scale 1 1 1
}
DEF CONE-XFORM-SHUTTLE Transform {
children [
DEF CONE-SHUTTLE-TIMER TimeSensor {
cycleInterval 6
loop TRUE
startTime 0
stopTime 1
}
DEF CONE-SHUTTLER PositionInterpolator {
key [ 0, 0.125, 0.25, 0.375,
0.5, 0.625, 0.75, 0.875,
1 ]
keyValue [ 0 0 0,
-1 0 1,
-2 0 2,
0 0 6,
2 0 10,
4 0 8,
6 0 6,
3 0 3,
0 0 0 ]
}
DEF CONE-XFORM-BOUNCE Transform {
children [
DEF CONE-SENSOR TouchSensor {
}
DEF CONE-BOUNCE-TIMER TimeSensor {
cycleInterval 1.5
loop TRUE
startTime 0
stopTime 1
}
DEF CONE-SOUND-TIMER TimeSensor {
cycleInterval 1.5
loop TRUE
startTime 0
stopTime 1
}
DEF CONE-SOUND-SCRIPT Script {
eventOut SFTime modifiedTime
eventIn SFTime startTime
url "vrmlscript:
function startTime (time){
modifiedTime = time - .495;
}
"
}
DEF CONE-BOUNCER PositionInterpolator {
key [ 0, 0.04, 0.1, 0.2,
0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9, 0.96,
1 ]
keyValue [ 0 0 0,
0 0.66 0,
0 1.664 0,
0 3.036 0,
0 4.016 0,
0 4.604 0,
0 4.8 0,
0 4.604 0,
0 4.016 0,
0 3.036 0,
0 1.664 0,
0 0.66 0,
0 0 0 ]
}
DEF CONE-DEFORMER PositionInterpolator {
key [ 0, 0.06, 0.1, 0.2,
0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9, 0.94,
1 ]
keyValue [ 1.4 0.5 1.4,
0.995 1.005 0.995,
0.92 1.08 0.92,
0.955 1.045 0.955,
0.98 1.02 0.98,
0.995 1.005 0.995,
1 1 1,
0.995 1.005 0.995,
0.98 1.02 0.98,
0.955 1.045 0.955,
0.92 1.08 0.92,
0.995 1.005 0.995,
1.4 0.5 1.4 ]
}
Sound {
source DEF CONE-SOUND-SOURCE AudioClip {
url "Sounds/cone.wav"
loop FALSE
startTime 0
}
location 0 0 0
direction 0 0 1
minFront 1
maxFront 50
minBack 1
maxBack 50
}
DEF CONE-DEFORM-XFORM Transform {
children DEF CONE-SWITCH Switch {
whichChoice 0
choice [
USE INLINE-CONE0
USE INLINE-CONE1
USE INLINE-CONE2
]
}
scale 1.4 0.5 1.4
}
DEF CONE-LIGHT SpotLight {
on FALSE
intensity 1
color 0 1 0
direction 0 -1 0
beamWidth 0.4
cutOffAngle 1.57
}
DEF CONE-VP Viewpoint {
position -2.54336 0.803519 -0.164512
orientation 0.2311 0.943574 0.237193 4.62841
fieldOfView 1.2
description "Cone Cam"
}
]
translation 0 0 0
}
]
translation 0 0 0
}
]
translation -3 0.05 -2
}
DEF BALL-ROOT Transform {
children [
DEF BALL-SWITCH-LOGIC Script {
eventOut SFInt32 ballChoice
eventOut SFTime startTime
eventOut SFInt32 ballReflChoice
eventIn SFBool triggerActive
eventIn SFTime triggerTime
eventIn SFTime proxEnteredTime
eventIn SFTime proxExitTime
field SFInt32 choiceState 0
field SFBool isAnimating FALSE
url "vrmlscript:
function triggerTime(touchTime) {
if (!isAnimating) {
isAnimating = TRUE;
startTime = touchTime;
}
}
function triggerActive(isActive) {
if (isActive)
if (isAnimating)
choiceState = choiceState + 1;
if (choiceState >= 3)
choiceState = 0;
ballChoice = choiceState;
}
function proxEnteredTime(value, time)
{
ballReflChoice = -1;
}
function proxExitTime(value, time)
{
ballReflChoice = choiceState;
}
"
}
DEF BALL-SHADOW-XFORM Transform {
children [
DEF BALL-SHADOW-DEFORMER PositionInterpolator {
key [ 0, 0.04, 0.1, 0.2,
0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9, 0.96,
1 ]
keyValue [ 1 1 1,
1.05 1 1.05,
1.15 1 1.15,
1.3 1 1.3,
1.5 1 1.5,
1.75 1 1.75,
1.8 1 1.8,
1.75 1 1.75,
1.5 1 1.5,
1.3 1 1.3,
1.15 1 1.15,
1.05 1 1.05,
1 1 1 ]
}
DEF BALL-SHADOW-SWITCH Transform {
children DEF BALL-SHADOW-SWITCHER Switch {
whichChoice 0
choice DEF BALL-SHADOW Transform {
children Transform {
children Shape {
appearance Appearance {
material DEF _DefMat Material {
ambientIntensity 0
diffuseColor 0 0 0
transparency 0.21
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ 2 0.1 0,
1.84776 0.1 0.765366,
1.41421 0.1 1.41421,
0.765369 0.1 1.84776,
2.53518e-06 0.1 2,
-0.765364 0.1 1.84776,
-1.41421 0.1 1.41422,
-1.84776 0.1 0.765371,
-2 0.1 5.07036e-06,
-1.84776 0.1 -0.765362,
-1.41422 0.1 -1.41421,
-0.765373 0.1 -1.84776,
-7.60554e-06 0.1 -2,
0.765359 0.1 -1.84776,
1.41421 0.1 -1.41422,
1.84776 0.1 -0.765376,
2 0.1 0,
1 100 1,
200 100 200,
-200 100 -200 ]
}
coordIndex [ 0, 14, 15, -1, 0, 1, 2, -1,
0, 2, 3, -1, 0, 3, 4, -1,
0, 4, 5, -1, 0, 5, 6, -1,
0, 6, 7, -1, 0, 7, 8, -1,
0, 8, 9, -1, 0, 9, 10, -1,
0, 10, 11, -1, 0, 11, 12, -1,
0, 12, 13, -1, 0, 13, 14, -1,
17, 18, 19, -1 ]
solid FALSE
creaseAngle 0.523599
}
}
translation 0 -0.85 0
scale 0.5 1 0.5
}
translation 0 -0.05 0
scale 1 1 1
}
}
}
]
translation 0 0 0
scale 1 1 1
}
DEF BALL-XFORM-SHUTTLE Transform {
children [
DEF BALL-SHUTTLE-TIMER TimeSensor {
cycleInterval 4.8
loop TRUE
startTime 0
stopTime 1
}
DEF BALL-SHUTTLER PositionInterpolator {
key [ 0, 0.125, 0.25, 0.375,
0.5, 0.625, 0.75, 0.875,
1 ]
keyValue [ 0 0 0,
2 0 0,
4 0 0,
6 0 0,
8 0 0,
6 0 0,
4 0 0,
2 0 0,
0 0 0 ]
}
DEF BALL-XFORM-BOUNCE Transform {
children [
DEF BALL-SENSOR TouchSensor {
}
DEF BALL-BOUNCE-TIMER TimeSensor {
cycleInterval 1.2
loop TRUE
startTime 0
stopTime 1
}
DEF BALL-SOUND-TIMER TimeSensor {
cycleInterval 1.2
loop TRUE
startTime 0
stopTime 1
}
DEF BALL-SOUND-SCRIPT Script {
eventOut SFTime modifiedTime
eventIn SFTime startTime
url "vrmlscript:
function startTime (time){
modifiedTime = time - .46;
}
"
}
DEF BALL-BOUNCER PositionInterpolator {
key [ 0, 0.04, 0.1, 0.2,
0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9, 0.96,
1 ]
keyValue [ 0 0 0,
0 0.66 0,
0 1.664 0,
0 3.036 0,
0 4.016 0,
0 4.604 0,
0 4.8 0,
0 4.604 0,
0 4.016 0,
0 3.036 0,
0 1.664 0,
0 0.66 0,
0 0 0 ]
}
DEF BALL-DEFORMER PositionInterpolator {
key [ 0, 0.04, 0.1, 0.2,
0.3, 0.4, 0.5, 0.6,
0.7, 0.8, 0.9, 0.96,
1 ]
keyValue [ 1.3 0.7 1.3,
0.895 1.105 0.895,
0.92 1.08 0.92,
0.955 1.045 0.955,
0.98 1.02 0.98,
0.995 1.005 0.995,
1 1 1,
0.995 1.005 0.995,
0.98 1.02 0.98,
0.955 1.045 0.955,
0.92 1.08 0.92,
0.895 1.105 0.895,
1.3 0.7 1.3 ]
}
Sound {
source DEF BALL-SOUND-SOURCE AudioClip {
url "Sounds/ball.wav"
loop FALSE
startTime 0
}
minFront 1
maxFront 50
minBack 1
maxBack 50
}
DEF BALL-DEFORM-XFORM Transform {
children DEF BALL-SWITCH Switch {
whichChoice 0
choice [
USE INLINE-BALL0
USE INLINE-BALL1
USE INLINE-BALL2
]
}
scale 1.3 0.7 1.3
}
DEF BALL-LIGHT SpotLight {
on FALSE
intensity 1
color 1 0 0
direction 0 -1 0
beamWidth 0.4
cutOffAngle 1.57
}
DEF BALL-VP Viewpoint {
position 1.8699 0.221448 2.22348
orientation 0.137895 0.985528 -0.0985827 1.25514
fieldOfView 1.67266
description "Ball Cam"
}
]
translation 0 0 0
}
]
translation 0 0 0
}
]
#rotation 0 -1 0 0.78
scale 1 1 1
}
]
}
DEF TRACKLIGHT0-ROOT Transform {
children DEF TRACKLIGHT Group {
children [
DEF SHUTTLER0-ROOT Transform {
children [
DEF SHUTTLER0-XFORM Transform {
children Transform {
children DEF INLINE-CONEMANIP Group {
children [
Collision {
children Group {
children Group {
children Group {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0.25
diffuseColor 0 0.282514 0.314286
specularColor 0.233325 0.278401 0.607143
emissiveColor 0 0.1 0.2
shininess 0.157143
transparency 0
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ 0 -1 -1,
0 1 0,
0.587785 -1 -0.809017,
0.951057 -1 -0.309017,
0.951056 -1 0.309017,
0.587785 -1 0.809017,
-8.74228e-08 -1 1,
-0.587785 -1 0.809017,
-0.951056 -1 0.309017,
-0.951056 -1 -0.309017,
-0.587785 -1 -0.809017 ]
}
coordIndex [ 10, 1, 0, -1, 2, 0, 1, -1,
2, 1, 3, -1, 4, 3, 1, -1,
4, 1, 5, -1, 6, 5, 1, -1,
6, 1, 7, -1, 8, 7, 1, -1,
8, 1, 9, -1, 10, 9, 1, -1 ]
colorIndex [ ]
ccw TRUE
solid FALSE
creaseAngle 2.37173
}
}
}
}
}
collide FALSE
}
Transform {
children Collision {
children Group {
children Group {
children Group {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0.25
diffuseColor 0 0.282514 0.314286
specularColor 0.233325 0.278401 0.607143
emissiveColor 0 0.1 0.2
shininess 0.157143
transparency 0
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ 0 -1 -1,
0 1 0,
0.587785 -1 -0.809017,
0.951057 -1 -0.309017,
0.951056 -1 0.309017,
0.587785 -1 0.809017,
-8.74228e-08 -1 1,
-0.587785 -1 0.809017,
-0.951056 -1 0.309017,
-0.951056 -1 -0.309017,
-0.587785 -1 -0.809017 ]
}
coordIndex [ 10, 1, 0, -1, 2, 0, 1, -1,
2, 1, 3, -1, 4, 3, 1, -1,
4, 1, 5, -1, 6, 5, 1, -1,
6, 1, 7, -1, 8, 7, 1, -1,
8, 1, 9, -1, 10, 9, 1, -1 ]
colorIndex [ ]
ccw TRUE
solid FALSE
creaseAngle 2.37173
}
}
}
}
}
collide FALSE
}
translation 0.0303557 -2.29429 -0.0335965
rotation 0.707084 -0.00799088 0.707084 3.15757
scale 1 1 1
}
]
}
translation -0.7 6 1
rotation 0 0 1 1.57
}
translation 0 0 0
}
DEF TRACKLIGHT0-SHUTTLER PlaneSensor {
minPosition 0 0
maxPosition 32 0
}
]
rotation 0 1 0 1.57
}
DEF SPINNER0-ROOT Transform {
children [
DEF SPINNER0-XFORM Transform {
children Transform {
children DEF SPINNER-MANIP-SHAPE Shape {
appearance Appearance {
material Material {
diffuseColor 0.2 0.2 0.5
emissiveColor 0.1 0.1 0.25
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ 1 0 0,
0.707107 0.707107 0,
0.707107 0 0.707107,
0 0.707107 0.707107,
0 0 1,
0 1 0,
-0.707107 0 0.707107,
-0.707107 0.707107 0,
-1 0 0,
0 -0.707107 0.707107,
0.707107 -0.707107 0,
0 -1 0,
-0.707107 -0.707107 0,
0 0 -1,
0 0.707107 -0.707107,
0.707107 0 -0.707107,
-0.707107 0 -0.707107,
0 -0.707107 -0.707107 ]
}
coordIndex [ 0, 1, 2, -1, 2, 1, 3, -1,
2, 3, 4, -1, 3, 1, 5, -1,
4, 3, 6, -1, 6, 3, 7, -1,
6, 7, 8, -1, 7, 3, 5, -1,
4, 9, 2, -1, 2, 9, 10, -1,
2, 10, 0, -1, 10, 9, 11, -1,
8, 12, 6, -1, 6, 12, 9, -1,
6, 9, 4, -1, 9, 12, 11, -1,
13, 14, 15, -1, 15, 14, 1, -1,
15, 1, 0, -1, 1, 14, 5, -1,
8, 7, 16, -1, 16, 7, 14, -1,
16, 14, 13, -1, 14, 7, 5, -1,
0, 10, 15, -1, 15, 10, 17, -1,
15, 17, 13, -1, 17, 10, 11, -1,
13, 17, 16, -1, 16, 17, 12, -1,
16, 12, 8, -1, 12, 17, 11, -1 ]
creaseAngle 1.67185
}
}
}
translation 0 0 0
rotation 0 0 1 0
}
DEF TRACKLIGHT0-SPINNER CylinderSensor {
}
]
translation 0.8 4 -0.5
rotation 0 1 0 1.57
}
Transform {
children [
DEF TRACKLIGHT0-TRIGGER TouchSensor {
}
DEF TRACKLIGHT0-XFORM Transform {
children Transform {
children [
Transform {
children [
DEF SPOT0-0 SpotLight {
on TRUE
color 1 0 0
direction 1 -2 -1
beamWidth 0.4
cutOffAngle 1.57
}
DEF SPOT0-1 SpotLight {
on FALSE
color 0 1 0
direction 1 -2 -1
beamWidth 0.4
cutOffAngle 1.57
}
DEF SPOT0-2 SpotLight {
on FALSE
color 0 0 1
direction 1 -2 -1
beamWidth 0.4
cutOffAngle 1.57
}
DEF SPOT0-3 SpotLight {
on FALSE
color 1 1 1
direction 1 -2 -1
beamWidth 0.4
cutOffAngle 1.57
}
]
translation -6.40022 16.3718 6.08966
rotation 0 1 0 2
}
DEF TRACKLIGHT-ASSEMBLY Transform {
children [
Transform {
children DEF WSA_root Group {
children DEF WSA_objects Group {
children [
Group {
children Group {
children Group {
children [
Group {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0
diffuseColor 0 0 0
specularColor 0.245189 0 1
emissiveColor 0.0638298 0.0638298 0.0638298
shininess 0.308511
transparency 0
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ -7.90069 3.20245 1.91522,
-7.89137 3.23657 1.88277,
-7.92818 3.27069 1.83707,
-7.97431 3.27069 1.82381,
-8.02977 3.23656 1.84299,
-8.03909 3.20243 1.87544,
-8.00228 3.16831 1.92114,
-7.95614 3.16832 1.9344,
-7.94784 3.37124 2.07919,
-7.93852 3.40536 2.04675,
-7.97533 3.43948 2.00104,
-8.02147 3.43947 1.98778,
-8.07692 3.40534 2.00697,
-8.08624 3.37122 2.03941,
-8.04943 3.3371 2.08512,
-8.0033 3.33711 2.09838 ]
}
coordIndex [ 7, 6, 5, 4, 3, 2, 1, 0,
-1, 9, 8, 0, 1, -1, 10, 9,
1, 2, -1, 11, 10, 2, 3, -1,
12, 11, 3, 4, -1, 13, 12, 4,
5, -1, 14, 13, 5, 6, -1, 15,
14, 6, 7, -1, 8, 15, 7, 0,
-1, 8, 9, 10, 11, 12, 13, 14,
15, -1 ]
colorIndex [ ]
normal NULL
normalPerVertex FALSE
solid TRUE
creaseAngle 0
}
}
}
Group {
children [
Transform {
children [
]
translation 6.59647 -2.67852 -1.57771
scale 1.8391 1.83909 1.83911
}
Transform {
children [
]
translation 6.34936 -2.51753 -1.43905
scale 1.78762 1.78765 1.78764
}
Transform {
children [
]
translation 6.30917 -2.60212 -1.41836
scale 1.79481 1.79525 1.7949
}
Transform {
children [
]
translation 5.6494 -2.20993 -1.37455
scale 1.70764 1.70768 1.70767
}
]
}
]
}
}
}
Transform {
children Group {
children Transform {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0
diffuseColor 0.25 0.25 0.25
specularColor 0.293243 0.297387 0.290421
emissiveColor 0.1 0.1 0.1
shininess 0.0816327
transparency 0
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ -1 1 1,
-1 -1 1,
1 1 1,
1 -1 1,
1 1 -1,
1 -1 -1,
-1 1 -1,
-1 -1 -1 ]
}
coordIndex [ 0, 1, 2, -1, 2, 1, 3, -1,
4, 5, 6, -1, 6, 5, 7, -1,
6, 7, 0, -1, 0, 7, 1, -1,
2, 3, 4, -1, 4, 3, 5, -1,
6, 0, 4, -1, 4, 0, 2, -1,
1, 7, 3, -1, 3, 7, 5, -1 ]
colorIndex [ ]
solid TRUE
creaseAngle 3.14159
}
}
translation 0 1.39822 3.63798e-12
scale 1 2.39822 1
}
}
translation -8.01488 4.53714 2.04582
scale 0.0110653 1.14116 0.0110239
}
]
}
}
translation -25.9756 -16.6036 -74.0398
rotation 0 1 0 1.5708
scale 9.99997 10 9.99997
}
Transform {
children Shape {
appearance Appearance {
material DEF _140 Material {
ambientIntensity 0
diffuseColor 0 0 0
specularColor 0.245189 0 1
emissiveColor 0.0638298 0.0638298 0.0638298
shininess 0.308511
transparency 0
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ 0.045 0.03 -7.5e-05,
0.045 -0.03 -7.5e-05,
-0.045 0.03 -7.5e-05,
-0.045 -0.03 -7.5e-05 ]
}
coordIndex [ 0, 1, 3, 2, -1 ]
colorIndex [ ]
texCoord TextureCoordinate {
point [ 0 1,
0 0,
1 1,
1 0 ]
}
texCoordIndex [ 0, 1, 3, 2, -1 ]
solid FALSE
creaseAngle 0.5
}
}
translation -7.70615 15.3589 6.57476
rotation 0.0355144 0.340146 0.939702 2.31639
scale 14.3011 14.3011 242.174
scaleOrientation 2.30031e-07 8.46675e-08 1 0.179388
}
Transform {
children Shape {
appearance Appearance {
material USE _140
}
geometry IndexedFaceSet {
coord Coordinate {
point [ 0.045 0.03 -7.5e-05,
0.045 -0.03 -7.5e-05,
-0.045 0.03 -7.5e-05,
-0.045 -0.03 -7.5e-05 ]
}
coordIndex [ 0, 1, 3, 2, -1 ]
colorIndex [ ]
texCoord TextureCoordinate {
point [ 0 1,
0 0,
1 1,
1 0 ]
}
texCoordIndex [ 0, 1, 3, 2, -1 ]
solid FALSE
creaseAngle 0.5
}
}
translation -7.18281 15.315 4.59091
rotation -0.253639 -0.351811 0.901053 2.48355
scale 14.3011 14.3011 242.174
scaleOrientation -1.95735e-08 1.65092e-08 1 0.376576
}
Transform {
children Shape {
appearance Appearance {
material USE _140
}
geometry IndexedFaceSet {
coord Coordinate {
point [ 0.045 0.03 -7.5e-05,
0.045 -0.03 -7.5e-05,
-0.045 0.03 -7.5e-05,
-0.045 -0.03 -7.5e-05 ]
}
coordIndex [ 0, 1, 3, 2, -1 ]
colorIndex [ ]
texCoord TextureCoordinate {
point [ 0 1,
0 0,
1 1,
1 0 ]
}
texCoordIndex [ 0, 1, 3, 2, -1 ]
solid FALSE
creaseAngle 0.5
}
}
translation -6.56817 14.6171 5.7862
rotation -0.121866 0.97999 -0.157382 4.4138
scale 14.3011 14.3011 242.174
scaleOrientation -7.57133e-09 1.03032e-07 1 0.122489
}
Transform {
children Shape {
appearance Appearance {
material USE _140
}
geometry IndexedFaceSet {
coord Coordinate {
point [ 0.045 0.03 -7.5e-05,
0.045 -0.03 -7.5e-05,
-0.045 0.03 -7.5e-05,
-0.045 -0.03 -7.5e-05 ]
}
coordIndex [ 0, 1, 3, 2, -1 ]
colorIndex [ ]
texCoord TextureCoordinate {
point [ 0 1,
0 0,
1 1,
1 0 ]
}
texCoordIndex [ 0, 1, 3, 2, -1 ]
solid FALSE
creaseAngle 0.5
}
}
translation -8.13433 16.1346 5.33859
rotation -0.680643 0.525545 0.510419 1.91904
scale 14.3011 14.3011 242.174
scaleOrientation 4.32167e-09 -2.10423e-09 -1 0.448027
}
]
}
]
translation 6.00022 -16.3718 -5.38966
}
translation 0 0 0
rotation 0 -1 0 2
center 0.5 43.1605 0.8
}
]
rotation 0 1 0 1.57
}
]
}
translation -10 10 12
scale 0.66001 0.66001 0.66001
scaleOrientation 0 0 1 0
}
DEF TRACKLIGHT1-ROOT Transform {
children Group {
children [
DEF SHUTTLER1-ROOT Transform {
children [
DEF SHUTTLER1-XFORM Transform {
children Transform {
children USE INLINE-CONEMANIP
translation -0.7 6 1
rotation 0 0 1 1.57
}
translation 0 0 0
}
DEF TRACKLIGHT1-SHUTTLER PlaneSensor {
minPosition 0 0
maxPosition 32 0
}
]
rotation 0 1 0 1.57
}
DEF SPINNER1-ROOT Transform {
children [
DEF SPINNER1-XFORM Transform {
children Transform {
children USE SPINNER-MANIP-SHAPE
}
translation 0 0 0
rotation 0 0 1 0
}
DEF TRACKLIGHT1-SPINNER CylinderSensor {
}
]
translation 0.8 4 -0.5
rotation 0 1 0 1.57
}
Transform {
children [
DEF TRACKLIGHT1-TRIGGER TouchSensor {
}
DEF TRACKLIGHT1-XFORM Transform {
children Transform {
children [
Transform {
children [
DEF SPOT1-0 SpotLight {
on FALSE
color 1 0 0
direction 1 -2 -1
beamWidth 0.4
cutOffAngle 1.57
}
DEF SPOT1-1 SpotLight {
on FALSE
color 0 1 0
direction 1 -2 -1
beamWidth 0.4
cutOffAngle 1.57
}
DEF SPOT1-2 SpotLight {
on TRUE
color 0 0 1
direction 1 -2 -1
beamWidth 0.4
cutOffAngle 1.57
}
DEF SPOT1-3 SpotLight {
on FALSE
color 1 1 1
direction 1 -2 -1
beamWidth 0.4
cutOffAngle 1.57
}
]
translation -6.40022 16.3718 6.08966
rotation 0 1 0 2
}
USE TRACKLIGHT-ASSEMBLY
]
translation 6.00022 -16.3718 -5.38966
}
translation 0 0 0
rotation 0 -1 0 2
center 0.5 43.1605 0.8
}
]
rotation 0 1 0 1.57
}
]
}
translation -10 10 -10
rotation 0 -1 0 1.57
scale 0.66001 0.66001 0.66001
scaleOrientation 0 0 1 0
}
DEF TRACKLIGHT2-ROOT Transform {
children Group {
children [
DEF SHUTTLER2-ROOT Transform {
children [
DEF SHUTTLER2-XFORM Transform {
children Transform {
children USE INLINE-CONEMANIP
translation -0.7 6 1
rotation 0 0 1 1.57
}
translation 0 0 0
}
DEF TRACKLIGHT2-SHUTTLER PlaneSensor {
minPosition -30 0
maxPosition 0 0
}
]
rotation 0 1 0 1.57
}
DEF SPINNER2-ROOT Transform {
children [
DEF SPINNER2-XFORM Transform {
children Transform {
children USE SPINNER-MANIP-SHAPE
}
translation 0 0 0
rotation 0 0 1 0
}
DEF TRACKLIGHT2-SPINNER CylinderSensor {
}
]
translation 0.8 4 -0.5
rotation 0 1 0 1.57
}
Transform {
children [
DEF TRACKLIGHT2-TRIGGER TouchSensor {
}
DEF TRACKLIGHT2-XFORM Transform {
children Transform {
children [
Transform {
children [
DEF SPOT2-0 SpotLight {
on FALSE
color 1 0 0
direction 1 -2 -1
beamWidth 0.4
cutOffAngle 1.57
}
DEF SPOT2-1 SpotLight {
on FALSE
color 0 1 0
direction 1 -2 -1
beamWidth 0.4
cutOffAngle 1.57
}
DEF SPOT2-2 SpotLight {
on FALSE
color 0 0 1
direction 1 -2 -1
beamWidth 0.4
cutOffAngle 1.57
}
DEF SPOT2-3 SpotLight {
on FALSE
color 1 1 1
direction 1 -2 -1
beamWidth 0.4
cutOffAngle 1.57
}
]
translation -6.40022 16.3718 6.08966
rotation 0 1 0 2
}
USE TRACKLIGHT-ASSEMBLY
]
translation 6.00022 -16.3718 -5.38966
}
translation 0 0 0
rotation 0 -1 0 2
center 0.5 43.1605 0.8
}
]
rotation 0 1 0 1.57
}
]
}
translation 10 10 10
rotation 0 -1 0 1.57
scale 0.66001 0.66001 0.66001
scaleOrientation 0 0 1 0
}
DEF LAMP-ROOT Transform {
children Transform {
children [
DEF LAMP-TRIGGER TouchSensor {
enabled TRUE
}
Transform {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0
diffuseColor 1 1 1
specularColor 0.622449 0.622449 0.622449
emissiveColor 1 0.871763 0
shininess 0.0510204
transparency 0
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ 1 0 0,
0.707107 0.707107 0,
0.707107 0 0.707107,
0 0.707107 0.707107,
0 0 1,
0 1 0,
-0.707107 0 0.707107,
-0.707107 0.707107 0,
-1 0 0,
0 -0.707107 0.707107,
0.707107 -0.707107 0,
0 -1 0,
-0.707107 -0.707107 0,
0 0 -1,
0 0.707107 -0.707107,
0.707107 0 -0.707107,
-0.707107 0 -0.707107,
0 -0.707107 -0.707107 ]
}
coordIndex [ 12, 17, 11, -1, 10, 11, 17, -1,
10, 9, 11, -1, 10, 2, 9, -1,
4, 9, 2, -1, 4, 2, 3, -1,
4, 3, 6, -1, 7, 6, 3, -1,
7, 8, 6, -1, 7, 16, 8, -1,
12, 8, 16, -1, 12, 16, 17, -1,
8, 12, 6, -1, 9, 6, 12, -1,
9, 4, 6, -1, 11, 9, 12, -1,
17, 16, 13, -1, 14, 13, 16, -1,
14, 15, 13, -1, 14, 1, 15, -1,
0, 15, 1, -1, 0, 1, 2, -1,
0, 2, 10, -1, 0, 10, 15, -1,
17, 15, 10, -1, 17, 13, 15, -1,
2, 1, 3, -1, 5, 3, 1, -1,
5, 7, 3, -1, 5, 14, 7, -1,
16, 7, 14, -1, 5, 1, 14, -1 ]
colorIndex [ ]
normal Normal {
vector [ 1 0 0,
0.707107 0.707107 0,
0.707107 0 0.707107,
0 0.707107 0.707107,
0 0 1,
0 1 0,
-0.707107 0 0.707107,
-0.707107 0.707107 0,
-1 0 0,
0 -0.707107 0.707107,
0.707107 -0.707107 0,
0 -1 0,
-0.707107 -0.707107 0,
0 0 -1,
0 0.707107 -0.707107,
0.707107 0 -0.707107,
-0.707107 0 -0.707107,
0 -0.707107 -0.707107 ]
}
normalIndex [ 12, 17, 11, -1, 10, 11, 17, -1,
10, 9, 11, -1, 10, 2, 9, -1,
4, 9, 2, -1, 4, 2, 3, -1,
4, 3, 6, -1, 7, 6, 3, -1,
7, 8, 6, -1, 7, 16, 8, -1,
12, 8, 16, -1, 12, 16, 17, -1,
8, 12, 6, -1, 9, 6, 12, -1,
9, 4, 6, -1, 11, 9, 12, -1,
17, 16, 13, -1, 14, 13, 16, -1,
14, 15, 13, -1, 14, 1, 15, -1,
0, 15, 1, -1, 0, 1, 2, -1,
0, 2, 10, -1, 0, 10, 15, -1,
17, 15, 10, -1, 17, 13, 15, -1,
2, 1, 3, -1, 5, 3, 1, -1,
5, 7, 3, -1, 5, 14, 7, -1,
16, 7, 14, -1, 5, 1, 14, -1 ]
solid FALSE
creaseAngle 0.5
}
}
translation 0.00335813 15.3896 0.000233306
rotation 0 1 0 1.5708
scale 0.547212 0.547213 0.547212
scaleOrientation 0 0 1 0
}
Transform {
children Shape {
appearance Appearance {
material Material {
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ -2.86549 2.86549 2.86549,
-2.86549 -2.86549 2.86549,
2.86549 2.86549 2.86549,
2.86549 -2.86549 2.86549,
2.86549 2.86549 -2.86549,
2.86549 -2.86549 -2.86549,
-2.86549 2.86549 -2.86549,
-2.86549 -2.86549 -2.86549 ]
}
color Color {
color [ 0.242964 0 1,
1 1 1 ]
}
coordIndex [ 0, 1, 3, 2, -1, 4, 5, 7,
6, -1, 6, 7, 1, 0, -1, 2,
3, 5, 4, -1, 6, 0, 2, 4,
-1, 1, 7, 5, 3, -1 ]
colorIndex [ 1, 0, 0, 1, -1, 1, 0, 0,
1, -1, 1, 0, 0, 1, -1, 1,
0, 0, 1, -1, 1, 1, 1, 1,
-1, 0, 0, 0, 0, -1 ]
texCoord TextureCoordinate {
point [ 0 1,
0 0,
1 1,
1 0 ]
}
texCoordIndex [ 0, 1, 3, 2, -1, 0, 1, 3,
2, -1, 0, 1, 3, 2, -1, 0,
1, 3, 2, -1, 0, 1, 3, 2,
-1, 0, 1, 3, 2, -1 ]
solid TRUE
creaseAngle 3.14159
}
}
translation 0.00430387 33.2895 0.0117796
rotation 0.707107 0 0.707107 3.14159
scale 0.0123915 6.04962 0.0122285
scaleOrientation 0 0 1 0
}
Transform {
children Shape {
appearance Appearance {
material Material {
ambientIntensity 0.248982
diffuseColor 0 0.286882 0.261868
specularColor 0.243549 0.556863 0.607143
emissiveColor 0 0 0
shininess 0.0663265
transparency 0
}
}
geometry IndexedFaceSet {
coord Coordinate {
point [ 0 -1 -1,
0 1 0,
0.382683 -1 -0.92388,
0.707107 -1 -0.707107,
0.92388 -1 -0.382683,
1 -1 4.37114e-08,
0.92388 -1 0.382684,
0.707107 -1 0.707107,
0.382683 -1 0.92388,
1.50996e-07 -1 1,
-0.382683 -1 0.92388,
-0.707107 -1 0.707107,
-0.92388 -1 0.382684,
-1 -1 -1.19249e-08,
-0.923879 -1 -0.382684,
-0.707107 -1 -0.707107,
-0.382683 -1 -0.92388 ]
}
coordIndex [ 0, 1, 2, -1, 2, 1, 3, -1,
3, 1, 4, -1, 4, 1, 5, -1,
5, 1, 6, -1, 6, 1, 7, -1,
7, 1, 8, -1, 8, 1, 9, -1,
9, 1, 10, -1, 10, 1, 11, -1,
11, 1, 12, -1, 12, 1, 13, -1,
13, 1, 14, -1, 14, 1, 15, -1,
15, 1, 16, -1, 16, 1, 0, -1 ]
colorIndex [ ]
texCoord TextureCoordinate {
point [ 0 0,
0 1,
0.0625 0,
0.0625 1,
0.125 0,
0.125 1,
0.1875 0,
0.1875 1,
0.25 0,
0.25 1,
0.3125 0,
0.3125 1,
0.375 0,
0.375 1,
0.4375 0,
0.4375 1,
0.5 0,
0.5 1,
0.5625 0,
0.5625 1,
0.625 0,
0.625 1,
0.6875 0,
0.6875 1,
0.75 0,
0.75 1,
0.8125 0,
0.8125 1,
0.875 0,
0.875 1,
0.9375 0,
0.9375 1,
1 0 ]
}
texCoordIndex [ 0, 1, 2, -1, 2, 3, 4, -1,
4, 5, 6, -1, 6, 7, 8, -1,
8, 9, 10, -1, 10, 11, 12, -1,
12, 13, 14, -1, 14, 15, 16, -1,
16, 17, 18, -1, 18, 19, 20, -1,
20, 21, 22, -1, 22, 23, 24, -1,
24, 25, 26, -1, 26, 27, 28, -1,
28, 29, 30, -1, 30, 31, 32, -1 ]
solid FALSE
creaseAngle 2.01167
}
}
translation 0.00350094 15.2087 0.0087724
rotation 0 0 1 0
scale 1.78806 1.08492 1.78806
}
]
}
translation 0 -2.68334 0
}
]
}
]
}
DEF PROX-ROOT Transform {
children DEF FLOOR-PROX ProximitySensor {
center -0.17 -8.23 0.052
size 24.48 15.07 24.88
}
rotation 0 0 1 0
center 0 0 0
}
]
collide TRUE
}
DEF COLLISION-LOGIC Script {
eventOut SFBool collideOn
eventIn SFBool ballCamBound
eventIn SFBool coneCamBound
eventIn SFBool cubeCamBound
url "vrmlscript:
function ballCamBound(value, time)
{
if (value) collideOn = FALSE;
else collideOn = TRUE;
}
function coneCamBound(value, time)
{
if (value) collideOn = FALSE;
else collideOn = TRUE;
}
function cubeCamBound(value, time)
{
if (value) collideOn = FALSE;
else collideOn = TRUE;
}
"
}
]
}
ROUTE DIMMER-LOGIC.dimmerStartTime TO DIMMER-TIMER.set_startTime
ROUTE DIMMER-LOGIC.sunFractionOut TO SUN-DIMMER.set_fraction
ROUTE DIMMER-LOGIC.ptLightFractionOut TO PTLIGHT-DIMMER.set_fraction
ROUTE LAMP-TRIGGER.isActive TO DIMMER-LOGIC.triggerIn
ROUTE DIMMER-TIMER.fraction_changed TO DIMMER-LOGIC.fractionIn
ROUTE DIMMER-TIMER.isActive TO DIMMER-LOGIC.dimmerActive
ROUTE LAMP-TRIGGER.touchTime TO DIMMER-LOGIC.triggerTouchTime
ROUTE TRACKLIGHT0-TRIGGER.touchTime TO TRACKLIGHT-LOGIC.trigger0
ROUTE TRACKLIGHT1-TRIGGER.touchTime TO TRACKLIGHT-LOGIC.trigger1
ROUTE TRACKLIGHT2-TRIGGER.touchTime TO TRACKLIGHT-LOGIC.trigger2
ROUTE DIMMER-LOGIC.sunOn TO REFLECTED-LIGHT.set_on
ROUTE SUN-DIMMER.value_changed TO REFLECTED-LIGHT.set_intensity
ROUTE DIMMER-LOGIC.sunOn TO SUN.set_on
ROUTE SUN-DIMMER.value_changed TO SUN.set_intensity
ROUTE CUBE-SHUTTLE-TIMER.fraction_changed TO REFL-CUBE-SHUTTLER.set_fraction
ROUTE CUBE-BOUNCE-TIMER.fraction_changed TO REFL-CUBE-BOUNCER.set_fraction
ROUTE DICE-REFL-ENGINE.value_changed TO DICE-REFL-XFORM.set_rotation
ROUTE DICE-REFL-TIMER.fraction_changed TO DICE-REFL-ENGINE.set_fraction
ROUTE CUBE-SWITCH-LOGIC.cubeChoice TO REFL-CUBE-SWITCH.set_whichChoice
ROUTE CUBE-SWITCH-LOGIC.cubeReflChoice TO REFL-CUBE-SWITCH.set_whichChoice
ROUTE CUBE-DEFORMER.value_changed TO REFL-CUBE-DEFORM-XFORM.set_scale
ROUTE REFL-CUBE-BOUNCER.value_changed TO REFL-CUBE-XFORM-BOUNCE.set_translation
ROUTE REFL-CUBE-SHUTTLER.value_changed TO REFL-CUBE-XFORM-SHUTTLE.set_translation
ROUTE CONE-SWITCH-LOGIC.coneChoice TO REFL-CONE-SWITCH.set_whichChoice
ROUTE CONE-SWITCH-LOGIC.coneReflChoice TO REFL-CONE-SWITCH.set_whichChoice
ROUTE CONE-DEFORMER.value_changed TO REFL-CONE-DEFORM-XFORM.set_scale
ROUTE CONE-BOUNCE-TIMER.fraction_changed TO REFL-CONE-BOUNCER.set_fraction
ROUTE REFL-CONE-BOUNCER.value_changed TO REFL-CONE-XFORM-BOUNCE.set_translation
ROUTE CONE-SHUTTLE-TIMER.fraction_changed TO REFL-CONE-SHUTTLER.set_fraction
ROUTE REFL-CONE-SHUTTLER.value_changed TO REFL-CONE-XFORM-SHUTTLE.set_translation
ROUTE BALL-SHUTTLE-TIMER.fraction_changed TO REFL-BALL-SHUTTLER.set_fraction
ROUTE BALL-BOUNCE-TIMER.fraction_changed TO REFL-BALL-BOUNCER.set_fraction
ROUTE EYEBALL-TIMER.fraction_changed TO EYEBALL-ENGINE.set_fraction
ROUTE EYEBALL-ENGINE.value_changed TO EYEBALL-XFORM.set_rotation
ROUTE BALL-SWITCH-LOGIC.ballChoice TO REFL-BALL-SWITCH.set_whichChoice
ROUTE BALL-SWITCH-LOGIC.ballReflChoice TO REFL-BALL-SWITCH.set_whichChoice
ROUTE BALL-DEFORMER.value_changed TO REFL-BALL-DEFORM-XFORM.set_scale
ROUTE REFL-BALL-BOUNCER.value_changed TO REFL-BALL-XFORM-BOUNCE.set_translation
ROUTE REFL-BALL-SHUTTLER.value_changed TO REFL-BALL-XFORM-SHUTTLE.set_translation
ROUTE FLOOR-TRIGGER.isActive TO SWITCH-LOGIC.floorTriggerIn
ROUTE LEFT-WALL-TRIGGER.isActive TO SWITCH-LOGIC.leftWallTriggerIn
ROUTE RIGHT-WALL-TRIGGER.isActive TO SWITCH-LOGIC.rightWallTriggerIn
ROUTE FLOOR-PROX.enterTime TO SWITCH-LOGIC.proxEnteredTime
ROUTE FLOOR-PROX.exitTime TO SWITCH-LOGIC.proxExitTime
ROUTE SWITCH-LOGIC.floorChoice TO FLOOR-SWITCH.set_whichChoice
ROUTE SWITCH-LOGIC.leftWallChoice TO LEFT-WALL-SWITCH.set_whichChoice
ROUTE SWITCH-LOGIC.rightWallChoice TO RIGHT-WALL-SWITCH.set_whichChoice
ROUTE SWITCH-LOGIC.leftWallChoice TO LEFT-REFL-SWITCH.set_whichChoice
ROUTE SWITCH-LOGIC.leftWallReflChoice TO LEFT-REFL-SWITCH.set_whichChoice
ROUTE SWITCH-LOGIC.rightWallChoice TO RIGHT-REFL-SWITCH.set_whichChoice
ROUTE SWITCH-LOGIC.rightWallReflChoice TO RIGHT-REFL-SWITCH.set_whichChoice
ROUTE CUBE-SENSOR.isActive TO CUBE-SWITCH-LOGIC.triggerActive
ROUTE CUBE-SENSOR.touchTime TO CUBE-SWITCH-LOGIC.triggerTime
ROUTE FLOOR-PROX.enterTime TO CUBE-SWITCH-LOGIC.proxEnteredTime
ROUTE FLOOR-PROX.exitTime TO CUBE-SWITCH-LOGIC.proxExitTime
ROUTE CUBE-BOUNCE-TIMER.fraction_changed TO CUBE-SHADOW-DEFORMER.set_fraction
ROUTE CUBE-SWITCH-LOGIC.shadowToggler TO CUBE-SHADOW-SWITCHER.set_whichChoice
ROUTE CUBE-SHUTTLER.value_changed TO CUBE-SHADOW-XFORM.set_translation
ROUTE DICE-REFL-ENGINE.value_changed TO CUBE-SHADOW-XFORM.set_rotation
ROUTE CUBE-SHADOW-DEFORMER.value_changed TO CUBE-SHADOW-XFORM.set_scale
ROUTE CUBE-SOUND-SCRIPT.modifiedTime TO CUBE-SOUND-TIMER.set_startTime
ROUTE CUBE-SENSOR.touchTime TO CUBE-SOUND-SCRIPT.startTime
ROUTE CUBE-SWITCH-LOGIC.startTime TO CUBE-SHUTTLE-TIMER.set_startTime
ROUTE CUBE-SHUTTLE-TIMER.fraction_changed TO CUBE-SHUTTLER.set_fraction
ROUTE CUBE-SOUND-TIMER.cycleTime TO CUBE-SOUND-SOURCE.set_startTime
ROUTE CUBE-SWITCH-LOGIC.startTime TO CUBE-BOUNCE-TIMER.set_startTime
ROUTE CUBE-BOUNCE-TIMER.fraction_changed TO CUBE-BOUNCER.set_fraction
ROUTE CUBE-BOUNCE-TIMER.fraction_changed TO CUBE-DEFORMER.set_fraction
ROUTE DICE-REFL-ENGINE.value_changed TO DICE-XFORM.set_rotation
ROUTE CUBE-SWITCH-LOGIC.cubeChoice TO CUBE-SWITCH.set_whichChoice
ROUTE CUBE-DEFORMER.value_changed TO CUBE-DEFORM-XFORM.set_scale
ROUTE DIMMER-LOGIC.cubeLightOn TO CUBE-LIGHT.set_on
ROUTE PTLIGHT-DIMMER.value_changed TO CUBE-LIGHT.set_intensity
ROUTE CUBE-BOUNCER.value_changed TO CUBE-XFORM-BOUNCE.set_translation
ROUTE CUBE-SHUTTLER.value_changed TO CUBE-XFORM-SHUTTLE.set_translation
ROUTE CONE-SENSOR.isActive TO CONE-SWITCH-LOGIC.triggerActive
ROUTE CONE-SENSOR.touchTime TO CONE-SWITCH-LOGIC.triggerTime
ROUTE FLOOR-PROX.enterTime TO CONE-SWITCH-LOGIC.proxEnteredTime
ROUTE FLOOR-PROX.exitTime TO CONE-SWITCH-LOGIC.proxExitTime
ROUTE CONE-BOUNCE-TIMER.fraction_changed TO CONE-SHADOW-DEFORMER.set_fraction
ROUTE CUBE-SWITCH-LOGIC.shadowToggler TO CONE-SHADOW-SWITCHER.set_whichChoice
ROUTE CONE-SHUTTLER.value_changed TO CONE-SHADOW-XFORM.set_translation
ROUTE CONE-SHADOW-DEFORMER.value_changed TO CONE-SHADOW-XFORM.set_scale
ROUTE CONE-SWITCH-LOGIC.startTime TO CONE-SHUTTLE-TIMER.set_startTime
ROUTE CONE-SHUTTLE-TIMER.fraction_changed TO CONE-SHUTTLER.set_fraction
ROUTE CONE-SWITCH-LOGIC.startTime TO CONE-BOUNCE-TIMER.set_startTime
ROUTE CONE-SOUND-SCRIPT.modifiedTime TO CONE-SOUND-TIMER.set_startTime
ROUTE CONE-SENSOR.touchTime TO CONE-SOUND-SCRIPT.startTime
ROUTE CONE-BOUNCE-TIMER.fraction_changed TO CONE-BOUNCER.set_fraction
ROUTE CONE-BOUNCE-TIMER.fraction_changed TO CONE-DEFORMER.set_fraction
ROUTE CONE-SOUND-TIMER.cycleTime TO CONE-SOUND-SOURCE.set_startTime
ROUTE CONE-SWITCH-LOGIC.coneChoice TO CONE-SWITCH.set_whichChoice
ROUTE CONE-DEFORMER.value_changed TO CONE-DEFORM-XFORM.set_scale
ROUTE DIMMER-LOGIC.coneLightOn TO CONE-LIGHT.set_on
ROUTE PTLIGHT-DIMMER.value_changed TO CONE-LIGHT.set_intensity
ROUTE CONE-BOUNCER.value_changed TO CONE-XFORM-BOUNCE.set_translation
ROUTE CONE-SHUTTLER.value_changed TO CONE-XFORM-SHUTTLE.set_translation
ROUTE BALL-SENSOR.isActive TO BALL-SWITCH-LOGIC.triggerActive
ROUTE BALL-SENSOR.touchTime TO BALL-SWITCH-LOGIC.triggerTime
ROUTE FLOOR-PROX.enterTime TO BALL-SWITCH-LOGIC.proxEnteredTime
ROUTE FLOOR-PROX.exitTime TO BALL-SWITCH-LOGIC.proxExitTime
ROUTE BALL-BOUNCE-TIMER.fraction_changed TO BALL-SHADOW-DEFORMER.set_fraction
ROUTE CUBE-SWITCH-LOGIC.shadowToggler TO BALL-SHADOW-SWITCHER.set_whichChoice
ROUTE BALL-SHUTTLER.value_changed TO BALL-SHADOW-XFORM.set_translation
ROUTE BALL-SHADOW-DEFORMER.value_changed TO BALL-SHADOW-XFORM.set_scale
ROUTE BALL-SWITCH-LOGIC.startTime TO BALL-SHUTTLE-TIMER.set_startTime
ROUTE BALL-SHUTTLE-TIMER.fraction_changed TO BALL-SHUTTLER.set_fraction
ROUTE BALL-SWITCH-LOGIC.startTime TO BALL-BOUNCE-TIMER.set_startTime
ROUTE BALL-SOUND-SCRIPT.modifiedTime TO BALL-SOUND-TIMER.set_startTime
ROUTE BALL-SENSOR.touchTime TO BALL-SOUND-SCRIPT.startTime
ROUTE BALL-BOUNCE-TIMER.fraction_changed TO BALL-BOUNCER.set_fraction
ROUTE BALL-BOUNCE-TIMER.fraction_changed TO BALL-DEFORMER.set_fraction
ROUTE BALL-SOUND-TIMER.cycleTime TO BALL-SOUND-SOURCE.set_startTime
ROUTE BALL-SWITCH-LOGIC.ballChoice TO BALL-SWITCH.set_whichChoice
ROUTE BALL-DEFORMER.value_changed TO BALL-DEFORM-XFORM.set_scale
ROUTE DIMMER-LOGIC.ballLightOn TO BALL-LIGHT.set_on
ROUTE PTLIGHT-DIMMER.value_changed TO BALL-LIGHT.set_intensity
ROUTE BALL-BOUNCER.value_changed TO BALL-XFORM-BOUNCE.set_translation
ROUTE BALL-SHUTTLER.value_changed TO BALL-XFORM-SHUTTLE.set_translation
ROUTE TRACKLIGHT0-SHUTTLER.translation_changed TO SHUTTLER0-XFORM.set_translation
ROUTE TRACKLIGHT0-SHUTTLER.translation_changed TO SPINNER0-XFORM.set_translation
ROUTE TRACKLIGHT0-SPINNER.rotation_changed TO SPINNER0-XFORM.set_rotation
ROUTE TRACKLIGHT-LOGIC.spot0_0On TO SPOT0-0.set_on
ROUTE TRACKLIGHT-LOGIC.spot0_1On TO SPOT0-1.set_on
ROUTE TRACKLIGHT-LOGIC.spot0_2On TO SPOT0-2.set_on
ROUTE TRACKLIGHT-LOGIC.spot0_3On TO SPOT0-3.set_on
ROUTE TRACKLIGHT0-SHUTTLER.translation_changed TO TRACKLIGHT0-XFORM.set_translation
ROUTE TRACKLIGHT0-SPINNER.rotation_changed TO TRACKLIGHT0-XFORM.set_rotation
ROUTE TRACKLIGHT1-SHUTTLER.translation_changed TO SHUTTLER1-XFORM.set_translation
ROUTE TRACKLIGHT1-SHUTTLER.translation_changed TO SPINNER1-XFORM.set_translation
ROUTE TRACKLIGHT1-SPINNER.rotation_changed TO SPINNER1-XFORM.set_rotation
ROUTE TRACKLIGHT-LOGIC.spot1_0On TO SPOT1-0.set_on
ROUTE TRACKLIGHT-LOGIC.spot1_1On TO SPOT1-1.set_on
ROUTE TRACKLIGHT-LOGIC.spot1_2On TO SPOT1-2.set_on
ROUTE TRACKLIGHT-LOGIC.spot1_3On TO SPOT1-3.set_on
ROUTE TRACKLIGHT1-SHUTTLER.translation_changed TO TRACKLIGHT1-XFORM.set_translation
ROUTE TRACKLIGHT1-SPINNER.rotation_changed TO TRACKLIGHT1-XFORM.set_rotation
ROUTE TRACKLIGHT2-SHUTTLER.translation_changed TO SHUTTLER2-XFORM.set_translation
ROUTE TRACKLIGHT2-SHUTTLER.translation_changed TO SPINNER2-XFORM.set_translation
ROUTE TRACKLIGHT2-SPINNER.rotation_changed TO SPINNER2-XFORM.set_rotation
ROUTE TRACKLIGHT-LOGIC.spot2_0On TO SPOT2-0.set_on
ROUTE TRACKLIGHT-LOGIC.spot2_1On TO SPOT2-1.set_on
ROUTE TRACKLIGHT-LOGIC.spot2_2On TO SPOT2-2.set_on
ROUTE TRACKLIGHT-LOGIC.spot2_3On TO SPOT2-3.set_on
ROUTE TRACKLIGHT2-SHUTTLER.translation_changed TO TRACKLIGHT2-XFORM.set_translation
ROUTE TRACKLIGHT2-SPINNER.rotation_changed TO TRACKLIGHT2-XFORM.set_rotation
ROUTE DIMMER-LOGIC.enableDimmer TO LAMP-TRIGGER.set_enabled
ROUTE COLLISION-LOGIC.collideOn TO COLLISION.set_collide
ROUTE BALL-VP.isBound TO COLLISION-LOGIC.ballCamBound
ROUTE CONE-VP.isBound TO COLLISION-LOGIC.coneCamBound
ROUTE CUBE-VP.isBound TO COLLISION-LOGIC.cubeCamBound